PassFront
  1. PassFront
  2. База знаний
  3. Основы языка

Что такое const?

Основы языка

`const` — способ объявить переменную с блочной областью видимости, ссылку на которую нельзя переприсвоить. Значение обязательно задаётся при объявлении.

Свойства const

  • Блочная область — видна только внутри {}.
  • Нельзя переприсваивать — повторное присваивание кинет TypeError.
  • Обязательная инициализация — const x; — ошибка.
  • TDZ — до строки объявления обращение кинет ReferenceError.
const PI = 3.14;
PI = 3; // TypeError: Assignment to constant variable

Неизменяемой остаётся только ссылка

const защищает привязку, а не содержимое объекта:

const user = { name: 'Ann' };
user.name = 'Bob';   // ок — меняем поле
user.age = 25;       // ок — добавляем поле
user = {};           // TypeError — меняем ссылку

const arr = [1, 2];
arr.push(3);         // ок — [1, 2, 3]

Для настоящей неизменяемости — Object.freeze(obj).

Когда использовать

const — выбор по умолчанию. Он сигнализирует, что переменная не будет переприсвоена, и делает код предсказуемее.

Коротко для собеседования

const — блочная переменная без переприсваивания ссылки, требует инициализации, имеет TDZ. Защищает ссылку, но не содержимое объекта (поля можно менять). Используется по умолчанию.

Другие вопросы раздела