let, const и отказ от var
Основы let и const, причины избегать var, блочная область видимости и мягкое введение в временную мёртвую зону (TDZ).
«let, const и отказ от var» — бесплатный урок JavaScript Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения JavaScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс JavaScript Academy содержит 3 уроков всего.
Введение
Цель: Уверенно использовать let и const, избегать устаревшего var и понимать блочную область видимости и TDZ.
- let и const
- Блочная область видимости
- Безопасность TDZ

Основы let и const
Правило: Используйте const, если не планируете переназначать значение; в противном случае выбирайте let.
// Prefer const by default; use let when you need to reassign
const appName = "CoddyKit";
// cannot reassign
let score = 0;
// can reassign
score = score + 1;
console.log("App:", appName);
console.log("Score:", score);

Почему следует избегать var
Избегайте var, потому что:
- Эта переменная имеет область видимости функции, а не блока.
- Она поднимается, и до объявления её можно прочитать как undefined.
- Она усложняет реорганизацию кода и делает его менее предсказуемым.

Демонстрация блочной области видимости
Блочная область видимости помогает оставлять переменные локальными, а код — аккуратным.
// Block scope: variables exist only inside the braces
let lives = 3;
if (true) {
const bonus = 10;
// only inside this block
let level = 2;
// only inside this block
console.log("Inside:", bonus, level);
}
console.log("Lives:", lives);
// The following would be ReferenceError if uncommented:
// console.log(bonus, level);

TDZ (безопасная демонстрация)
TDZ: переменную let/const нельзя прочитать до строки её объявления; это предотвращает множество ошибок.
// TDZ: accessing let/const before declaration throws ReferenceError
try {
// Uncommenting next line would throw:
// console.log(theme);
// ReferenceError (TDZ)
let theme = "dark";
console.log("Theme after declare:", theme);
} catch (e) {
console.log("Caught:", e.message);
}

Именование и советы
Именование:
- Используйте понятные существительные для данных (userName, score).
- Используйте глаголы для функций (computeTotal).
- Ограничивайте область видимости; объявляйте переменные рядом с местом использования.

Проверка let и const
Быстрая проверка: блочная область видимости и переназначение.

Повторение
Повторение: Предпочитайте const, используйте let, когда необходимо переназначить значение, и избегайте var. Блочная область видимости оставляет переменные локальными, а TDZ защищает от ошибок раннего доступа.

Часто задаваемые вопросы
Урок «let, const и отказ от var» бесплатный?
Да — полный текст урока «let, const и отказ от var» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс JavaScript Academy, подпишись на CoddyKit PRO. Курс JavaScript Academy содержит 3 уроков всего.
Чему я научусь в уроке «let, const и отказ от var»?
Основы let и const, причины избегать var, блочная область видимости и мягкое введение в временную мёртвую зону (TDZ). Ты практикуешь JavaScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать JavaScript Academy?
Предыдущий опыт не требуется. JavaScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «let, const и отказ от var»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке JavaScript Academy?
Да. Каждый урок JavaScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- let, const и отказ от var
- Области видимости блока, функции и модуля и TDZ
- Именование, читаемость и распространённые ошибки