
var, let, const в JavaScript: разница и использование

var, let, const в JavaScript: разница и использование
В языке программирования JavaScript для объявления переменных используются три ключевых слова: var, let и const. Несмотря на то, что все они позволяют создавать переменные, между ними есть важные различия, касающиеся области видимости, поднятия (hoisting) и возможности повторного присваивания.
Ключевое слово var использовалось для объявления переменных с момента появления JavaScript. Однако у него есть несколько недостатков, из-за которых его не рекомендуется использовать в современном коде и этот способ считается устаревший.
- Область видимости: функциональная (function-scoped). Переменная, объявленная через var, доступна внутри всей функции, в которой она была создана.
- Поднятие (hoisting): переменные с var поднимаются в начало своей области видимости и инициализируются значением undefined.
- Глобальное загрязнение: вне функций var создаёт свойство глобального объекта (window в браузере).
Code (JavaScript) : Убрать нумерацию
- function example() {
- if (true) {
- var x=42;
- }
- // 42 - переменная доступна вне блока
- console.log(x);
- }
- Область видимости: блочная (block-scoped). Переменная доступна только внутри блока {} (например, в if, for, while).
- Поднятие: переменная поднимается, но не инициализируется (находится в "temporal dead zone" до объявления).
- Нельзя переобъявлять в одной области видимости.
- Можно изменять значение после объявления.
Code (JavaScript) : Убрать нумерацию
- if (true) {
- let y=42;
- // Переменная 42 определена
- console.log(y);
- }
- // console.log(y);
- // Ошибка: переменная "y" не определена
- Область видимости: блочная (как у let).
- Обязательная инициализация: переменная должна быть инициализирована при объявлении.
- Нельзя переназначать, но можно изменять свойства объектов или элементы массивов.
- Тоже поднимается, но не инициализируется до объявления.
Code (JavaScript) : Убрать нумерацию
- const PI=3.14;
- // PI=3.1415;
- // Ошибка: нельзя переназначить
- // Инициализация объекта
- const user={ name: "Masha" };
- // Допустимо, что объект можно изменять
- user.name="Vova";
- // const защищает саму переменную user, но не защищает содержимое объекта.
- // user={};
- // Ошибка: нельзя переназначить объект
Просмотров: 472 | Комментариев: 1
Метки: JavaScript
Комментарии
Отзывы посетителей сайта о статье
NetR00ver
(19.08.2025 в 10:17):
Спасибо за разъяснительную лекцию. Если есть, что ещё по теме - кидай! С интересом изучим и теорию.
Добавить комментарий
Заполните форму для добавления комментария


