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

Сравни способы объявления переменных в JavaScript и объясни, когда выбирать каждый вариант.

Основы языка

Переменные в JavaScript объявляют через `const`, `let` и `var`. Современный подход: const по умолчанию, let при переприсваивании, var практически не использовать.

Сравнение

  • const — блочная область, TDZ, нельзя переприсваивать ссылку, обязательная инициализация.
  • let — блочная область, TDZ, можно переприсваивать.
  • var — функциональная область, hoisting в undefined, можно переобъявлять (legacy).
const PI = 3.14;   // не изменится
let count = 0;     // будет меняться
count++;

Правила выбора

  1. По умолчанию — `const`. Так явно видно, что значение не переприсваивается.
  2. `let` — только когда значение действительно меняется (счётчики, аккумуляторы, циклы).
  3. `var` — избегать: функциональная область и hoisting порождают неожиданное поведение.

Почему const по умолчанию

  • Меньше багов от случайного переприсваивания.
  • Код читается однозначнее.
  • const не делает объект иммутабельным — защищает только ссылку:
const arr = [];
arr.push(1); // ок — меняем содержимое, не ссылку

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

Выбирают const по умолчанию, let — когда значение переприсваивается, var — избегают из-за функциональной области и hoisting. const защищает ссылку, но не содержимое объекта.

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