logicface
@logicface
Начинающий

Почему константа const позволяет изменять значение внутри себя не по ссылке?

Всем привет. Я смотрел обучающие видео ролики, и увидел как человек перебирает массив элементов (кнопок) и назначает каждый элемент в одну и туже константу для последующего навешивания на нее слушателей событий. Я подумал — как так, константа ведь не может менять свое содержимое. Решил проверить это по упрощенной аналогии и вот что вышло:

"use strict"
let arr = [1, 2, 3]
let test = [3, 2, 1] // Два разных массива

for (key of arr) {
	const val = key
	console.log(test.some(item => item == val)) // true, true, true
}


Не подскажете из-за чего это так?
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
для const по сюжету задана "блочная область видимости". Т.е. на каждой итерации создается новая константа, по завершении итерации уничтожается
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы