Sobes.tech
Назад к вопросам
Middle
9

Чем отличаются const, let и var?

Компании, где спрашивали
Тензор

Ответ от нейросети

sobes.tech AI

var, let и const — три способа объявления переменных в JavaScript, отличающиеся областью видимости и возможностью переназначения.

  • var — объявляет переменную с функциональной или глобальной областью видимости. Переменные можно переопределять и повторно объявлять. Подвержен поднятию (hoisting).

  • let — блочная область видимости (например, внутри {}). Переменную можно переопределять, но нельзя повторно объявлять в одной области. Не подвержен поднятию.

  • const — тоже блочная область видимости, но переменная должна быть инициализирована сразу и не может быть переназначена. Однако, если это объект или массив, можно изменять его содержимое.

Пример:

var a = 1;
let b = 2;
const c = 3;

b = 4; // ок
// c = 5; // ошибка

if (true) {
  var a = 10; // перезапишет внешнюю a
  let b = 20; // новая переменная в блоке
}
console.log(a); // 10
console.log(b); // 4