Спросят с вероятностью 7%
Переменные объявляются с помощью ключевых слов
var, let и const. Они имеют разные особенности и используются в разных ситуациях.var
Использовался до появления ES6 (ECMAScript 2015) и обладает следующими особенностями:
1️⃣Область видимости:
var имеет функциональную область видимости, то есть она видна внутри функции, где была объявлена, или в глобальной области, если объявлена вне функций.2️⃣Поднятие (hoisting): Объявления с
var поднимаются вверх своей области видимости, но присвоение значения происходит в том месте, где оно записано. Это значит, что переменную можно использовать до ее объявления.3️⃣Повторное объявление: Переменные, объявленные с
var, могут быть переобъявлены в пределах одной и той же области видимости.Пример:
function exampleVar() {
console.log(x); // undefined
var x = 10;
console.log(x); // 10
}
exampleVar();let
Появился в ES6 и решает многие проблемы, связанные с
var:1️⃣Область видимости:
let имеет блочную область видимости, то есть виден только внутри блока {}, в котором объявлен.2️⃣Поднятие (hoisting): Хотя объявления с
let поднимаются, доступ к ним возможен только после строки, где они объявлены (временная мертвая зона).3️⃣Повторное объявление: Нельзя переобъявить переменную, объявленную с
let, в той же области видимости.Пример:
function exampleLet() {
console.log(y); // ReferenceError: y is not defined
let y = 10;
console.log(y); // 10
}
exampleLet();const
Также введённый в ES6, используется для объявления констант:
1️⃣Область видимости: Как и
let, имеет блочную область видимости.2️⃣Поднятие (hoisting): Ведет себя аналогично
let в плане поднятия и временной мертвой зоны.3️⃣Изменение значения: Переменная, объявленная с
const, должна быть инициализирована при объявлении и её значение нельзя изменить после этого. Однако, если const используется для объявления объекта или массива, можно изменять их содержимое.Пример:
function exampleConst() {
const z = 10;
console.log(z); // 10
z = 20; // TypeError: Assignment to constant variable.
}
exampleConst();
function exampleConstObject() {
const obj = { key: 'value' };
obj.key = 'new value'; // Изменение допустимо
console.log(obj.key); // 'new value'
}
exampleConstObject();Когда использовать
✅`var`: Обычно рекомендуется избегать, так как
let и const обеспечивают лучшую управляемость кода.✅`let`: Используется для переменных, которые могут изменяться в процессе выполнения программы.
✅`const`: Используется для значений, которые не будут переназначены. Это помогает предотвратить ошибки и делает код более предсказуемым.
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1429 вопроса на Frontend разработчика. Ставь 👍 если нравится контент
🔐 База собесов | 🔐 База тестовых