Нет значения по умолчанию, хотя я думаю, вы могли бы назвать Ужас неявных глобалов ¹ в свободном режиме своего рода значением по умолчанию. :-) Не полагайтесь на ужас неявных глобалов, это фактически ошибка в языке, которая исправлена строгим режимом. : -)
Если вы пишете код так, как у вас, вы должны объявить переменную до l oop. Если вы не делаете этого в свободном режиме, глобально var
создается неявно; в строгом режиме (который я рекомендую использовать всегда) это ошибка. Если вы объявите переменную до l oop, то будет работать let
или var
(но не const
).
Если вы объявите переменную в , l oop, вы можете использовать let
или const
, в зависимости от того, хотите ли вы обновить переменную в l oop (а также в предпочитаемом вами стиле):
const values = ["one", "two", "three"];
for (const value of values) {
console.log(value);
}
for (let value of values) {
console.log(value);
}
for (let value of values) {
// (Note the following only changes the value of the variable, not the entry in the array)
value = value.toUpperCase(); // You couldn't do thsi with `const`
console.log(value);
}
¹ (это пост в моем анеми c, пренебрегаемый блог)