Переменные используются для хранения значений данных, которые могут быть использованы позже в программе. В JavaScript существует три типа переменных: var, let и const. В этой статье мы обсудим разницу между ними, а также почему const называется переменной.
Var
Var был единственным способом объявить переменную в JavaScript до ES6 (ECMAScript 6). Когда вы объявляете переменную с помощью var, ее область действия ограничивается ближайшим функциональным блоком, а не только ближайшим блоком, таким как let и const. Иногда это может привести к неожиданному поведению, если вы не знаете, как это работает. Например:
function myFunction() {
var x = 10;
if (true) {
var x = 20; // та же самая переменная
console.log(x); // 20
}
console.log(x); // 20
}
В приведенном выше примере мы объявили переменную x внутри функции myFunction(). Внутри блока if мы объявили другую переменную x с тем же именем. Но, поскольку мы использовали var для объявления переменных, на самом деле это одна и та же переменная. Итак, когда мы регистрируем x внутри блока if, получаем 20. И, когда регистрируем x вне блока if, также получаем 20.
Let
Let был введен в ES6 как новый способ объявления переменных. Когда вы объявляете переменную с помощью let, ее область действия ограничивается ближайшим блоком. Это означает, что если вы объявите переменную внутри блока, например, оператор if или цикл, она будет доступна только внутри этого блока. Например:
function myFunction() {
let x = 10;
if (true) {
let x = 20; // это уже другая переменная
console.log(x); // 20
}
console.log(x); // 10
}
В приведенном выше примере мы объявили переменную x внутри функции myFunction(), используя let. Внутри блока if мы объявили другую переменную x с тем же именем. Но, поскольку мы использовали let для объявления переменных, на самом деле это две разные переменные. Итак, когда мы регистрируем x внутри блока if, получаем 20. И, когда регистрируем x вне блока if, мы получаем 10.
Const
Const также был введен в ES6 как новый способ объявления переменных. Когда вы объявляете переменную с помощью const, она также ограничивается ближайшим блоком. Разница с let в том, что вы не можете переназначить значение переменной const. Например:
const name = "John";
name = "Bob"; // Вызовет TypeError: Присвоение константе новое значение
console.log(name);
В этом примере мы объявляем name значение «John». Затем мы пытаемся переназначить новое значение «Bob» переменной name. Однако, поскольку name объявлено как переменная const, мы получаем ошибку TypeError, указывающую, что мы не можем переназначить новое значение постоянной переменной.
Почему const называют переменной
Const называется переменной в JavaScript, потому что, подобно var и let, это способ хранения значений в программе и ссылки на них. Хотя значение переменной const не может быть переназначено, это все равно переменная в том смысле, что она может содержать значение, которое можно использовать и ссылаться на него во всей программе.
Термин «переменная» происходит от того факта, что значение, хранящееся в переменной, может изменяться с течением времени. Хотя значение переменной const не может быть переназначено, ее все равно можно использовать как любую другую переменную в программе, например, передавать ее в качестве аргумента функции или использовать в условном операторе.
Таким образом, даже несмотря на то, что значение переменной const не может быть изменено, оно все равно называется переменной в JavaScript, потому что это способ хранить значение в программе и ссылаться на него.