Почему переменная, объявленная внутри цикла, не считается за ошибку? Если объявить какую-либо переменную, а после нее объявить другую переменную с тем же именем, то будет ошибка (Identifier 'max' has already been declared)let max;
let max;
Но если объявить переменную внутри цикла, то никакой ошибки не возникнет. for (let i = 0; i < 10; i++) {
let max;
console.log(i);
}
Почему? Цикл же повторяет последовательность действий, заданных в блоке кода, а значит и заново объявляет переменную, но ошибки не возникает.О вопросеДа, возможно вопрос глупый, но ответа в интернете я на него не нашел, поэтому прошу просто ответить на него. Спасибо

14 Апр 2020 в 19:47
201 +1
0
Ответы
1

В JavaScript переменные, объявленные с помощью ключевого слова let, имеют блочную область видимости. Это означает, что переменная, объявленная внутри блока кода (в данном случае внутри цикла for), доступна только внутри этого блока и не может быть доступна за его пределами. Поэтому при каждой итерации цикла переменная max будет создаваться заново и будет существовать только в рамках текущей итерации. В результате не возникает ошибки о повторном объявлении переменной с тем же именем.

18 Апр в 13:57
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 436 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир