Почему JavaScript const хорошо работает с for in loop [duplicate]

1

Почему JavaScript const работает так же, как let for in цикл? const использует для объявления констант в EC6. Тогда почему значение const num получает обновление на каждой итерации for in?

Ибо в

for (let num in nums) {
    console.log(num); // works well, as usual
}

Для in с константой

for (const num in nums) {
    console.log(num); // why const value getting replaced
}
  • 0
    только чтение у вас нет изменений, так что без ошибок только итерация
  • 0
    Потому что const - это область видимости вашего блока for...in loop
Теги:
ecmascript-6
variables
for-in-loop

3 ответа

1
Лучший ответ

Почему JavaScript const работает так же, как встраивается в цикл?

По определению, const блокируется как let.

Тогда почему значение const num получает обновление на каждой итерации for for?

Это не так. Поскольку он ограничен блоком, каждый раз, когда вы обходите цикл, старая константа выходит из области действия, и вы создаете новую.

8

Почему значение const num обновляется на каждой итерации for in?

Он не обновляется. Подобно let, он привязан к блоку цикла и создает новую переменную const на каждой итерации, инициализированную соответствующим ключом свойства.

0

Возможно (не уверен) для области, в которой она была объявлена. Кажется, вы объявляете константу в области оператора for, поэтому она удаляется и обновляется каждую новую итерацию. Поэтому каждый раз он имеет другое значение.

Это догадка, не уверен...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню