Front-end-Job-Interview-Questions

Ответы на вопросы на должность Frontend разработчика.


Project maintained by FedorovAlexander Hosted on GitHub Pages — Theme by mattgraham

В чём различие между переменными, созданными при помощи let, var и const?

Переменные, объявленные при помощи ключевого слова var, относятся к области видимости функции, в которой они созданы. Или, если они созданы вне какой-либо функции, — к глобальному объекту. let и const относятся к блочной области видимости — это означает, что они доступны только в пределах ближайшего набора фигурных скобок (функция, блок if-else или цикл for).

if (true) {
  var bar = 'bar';
  let baz = 'baz';
  const qux = 'qux';
}

console.log(var); // bar
console.log(baz); // ReferenceError: baz is not defined
console.log(qux); // ReferenceError: qux is not defined

var позволяет поднимать переменные и на них можно ссылаться в коде до их объявления. let const не позволяют этого и выдают ошибку.

Переопределение переменной с помощью var не вызовет ошибку, в отличие от let и const.

let отличается от const тем, что изменять значение const нельзя.


Предыдущий вопрос | Следующий вопрос