Разбираем классику: var, let и const в JavaScript.
Готовлюсь к собеседованиям и систематизирую знания. Сегодня — разница между объявлением переменных. 1. var — устаревший классик
- Область видимости: Функциональная. Переменная, объявленная через var, видна везде внутри функции, где ее создали.
- Поведение при всплытии (hoisting): Всплывает со значением undefined. Это значит, что переменную можно использовать до ее объявления в коде, но ее значение будет undefined.
- Возможность переопределения: Можно свободно переопределять сколько угодно раз.
2. let — современная гибкость
- Область видимости: Блочная. Переменная существует только внутри своего блока {} (условия if, цикла for и т.д.).
- Поведение при всплытии (hoisting): Технически тоже всплывает, но если обратиться к ней до объявления, мы попадем в так называемую временную мертвую зону и получим ошибку ReferenceError.
- Возможность переопределения: Значение можно менять.
3. const — нерушимая константа
- Область видимости: Блочная, как и у let. Видима только в рамках своих {}.
- Поведение при всплытии (hoisting): Ведет себя так же, как let — всплывает, но обращение до объявления вызовет ошибку.
- Возможность переопределения: Нельзя переприсвоить новое значение. Важный нюанс: если значением является объект или массив, то менять их внутреннее содержимое можно. Const защищает от переприсваивания ссылки, а не от изменения данных внутри.
А на собеседовании вас спросили про эту разницу? Какой самый каверзный вопрос вам задавали? Дополняйте в комментариях! 👇
#JavaScript #Frontend #Собеседование #Junior #ВопросыНаСобес #Программирование #войтивайти
· 26.09.2025
Я бы подобные вопросы задавал только джунам. Вы бы знали, насколько уже от этих вопросов тошнит 😅
ответить
коммент удалён
· 26.09.2025
Согласен, уже очень тяжело отвечать на такие вопросы, но почему-то это постоянно спрашивают 🤨
ответить
ответ удалён