Ответ
В современном JavaScript (ES6+) используются три основных ключевых слова:
-
const: Объявляет константную ссылку на значение. Сама ссылка не может быть переназначена, но если значение — объект или массив, его внутреннее состояние можно изменять.const PORT = 3000; const config = { env: 'production' }; config.env = 'development'; // Допустимо // config = {}; // Ошибка: Assignment to constant variable. -
let: Объявляет переменную с блочной областью видимости, значение которой можно изменять.let counter = 0; if (true) { let counter = 10; // Это отдельная переменная в этом блоке console.log(counter); // 10 } console.log(counter); // 0 -
var: Устаревший способ с функциональной областью видимости и поднятием (hoisting). Может приводить к неочевидным ошибкам.function example() { console.log(x); // undefined (поднята, но не инициализирована) var x = 5; }
Мой подход в Node.js-проектах:
constпо умолчанию. Использую для всего, что не планируется переназначавать.letтолько при необходимости. Например, для счётчиков в циклах или переменных, которые действительно меняют значение.varне использую. Его поведение с hoisting и функциональной областью видимости делает код менее предсказуемым по сравнению сlet/const.