Зачем обозначать переменную словом let , если код работает и без этого?
Зачем обозначать переменную словом let , если код работает и без этого ?
Ответы (2 шт):
Ну, во первых, зависит от мода: "use strict" vs отсутствие "use strict". Если его нет, то создание такой переменной создаст глобальное свойство объекта window, а проблемы которые это создаёт очевидные - начинают появляться коллизии имён глобальных свойств и приложение становится довольно хрупким. Далее, если "use strict" присутствует, то он банально не даст использовать переменную без инициализации.
var - имеет глобальную область видимости (на всё приложение)
let, const - это переменные, которые видно только в пределах блока
function f() {
const a = 'a';
let b = 'b';
var c = 'c';
//какой-то код...
}
//тут переменных a и b, уже нет, но переменная с всё ещё видна глобально
В настоящее время не принято использовать var - это приводит к багам и считается плохим тоном.
Используйте только const и если вы знаете, что эту переменную нужно будет переопределить ниже в коде - тогда let