Найти тему
nikolay_saitov

Var, let, const - различия.

Самый банальный вопрос на собеседовании джуна фронтенда, и тем не менее не найти нормальных кратких статей по данной теме, везде лекции на 10 листов)

Так что вот, держите, краткий ликбез:

1. Переменные, объявленные через var, могут быть глобальными или иметь область видимости в рамках функции; let и const имеют блочную область видимости.

2. Var-переменные могут быть как обновлены, так и переопределены внутри области видимости; let-переменные можно обновлять, но не переопределять; const-переменные нельзя ни обновлять, ни переопределять.

3. Со всеми ними осуществляется поднятие наверх области видимости. Но если var-переменные при этом инициализируются как undefined, let и const не инициализируются.

4. В то время как var и let можно объявить, но не инициализировать, const необходимо инициализировать во время объявления.