В этой статье вы узнаете о переменных var, let и const и о различных правилах, к которым они привязаны.

Начнем с ключевого слова var.

Вариант ключевого слова

Мы можем получить доступ к переменной var перед инициализацией.

console.log(user); // call before initialization
var user;

Вывод - без ошибки, показывающей undefined

Еще одна вещь, которую нужно знать о ключевом слове var, заключается в том, что мы можем объявлять и повторно объявлять одну и ту же переменную var без ошибок. См. часть кода ниже.

var user = "give value";

Пусть ключевое слово

Мы не можем получить доступ к переменной let до инициализации/до ее объявления.

console.log(user); // call before we declare it.
let user;

Вывод: ошибка, потому что мы не можем получить доступ к переменной let до ее объявления.

Давайте посмотрим, что произошло, запустив console.log после того, как мы его объявим.

let user;
console.log(user); // call after we declare it.

Вывод - без ошибки, показывающей undefined

Еще одна вещь, которую нужно знать о ключевом слове let, заключается в том, что мы не можем объявлять и повторно объявлять одну и ту же переменную let. См. часть кода ниже.

let user; // old code
let user = "user"; 

Приведенный выше код неверен. Если вы хотите повторно объявить значение, чтобы разрешить переменную. Вы можете сделать это, как показано ниже.

let user; // old code
user = "user";

Постоянное ключевое слово

Мы не можем получить доступ к переменной Const до инициализации/до ее объявления.

console.log(user); // call before we declare it.
Const user = "value";

Вывод: ошибка, потому что мы не можем получить доступ к переменной let до ее объявления.

Другое дело, что мы не можем повторно объявить константную переменную.

Ключевое слово Var является самым мягким, а ключевое слово Const — самым строгим. Лучший выбор и использование обычно зависят от того, будете ли вы переназначать значения. В современном JavaScript я бы посоветовал вам выбрать let или const в зависимости от того, будут ли они переназначены или нет.