Зачем обозначать переменную словом let , если код работает и без этого?

Зачем обозначать переменную словом let , если код работает и без этого ?


Ответы (2 шт):

Автор решения: Rustam

Ну, во первых, зависит от мода: "use strict" vs отсутствие "use strict". Если его нет, то создание такой переменной создаст глобальное свойство объекта window, а проблемы которые это создаёт очевидные - начинают появляться коллизии имён глобальных свойств и приложение становится довольно хрупким. Далее, если "use strict" присутствует, то он банально не даст использовать переменную без инициализации.

→ Ссылка
Автор решения: Denys

var - имеет глобальную область видимости (на всё приложение)

let, const - это переменные, которые видно только в пределах блока

function f() {
 const a = 'a';
 let b = 'b';
 var c = 'c';

 //какой-то код...
}

//тут переменных a и b, уже нет, но переменная с всё ещё видна глобально

В настоящее время не принято использовать var - это приводит к багам и считается плохим тоном.

Используйте только const и если вы знаете, что эту переменную нужно будет переопределить ниже в коде - тогда let

→ Ссылка