JavaScript: Переменные и константы
- Переменные
- Константы
- Зачем нужны переменные и константы
- Область видимости констант
- Константы и ссылочные типы
Переменные
Когда в программе необходимо сохранить значение, чтобы использовать его позже, это значение присваивается переменной. Переменная – это просто символьное имя для значения, которое обеспечивает возможность получить значение по имени, то есть, когда в программе указывается имя переменной вместо неё подставляется значение.
Переменная получила своё название благодаря тому, что её значение может быть изменено по ходу выполнения программы.
Константы
Константа – это просто символьное имя для значения. Константа даёт возможность обратиться к значению по имени, это означает, что, когда в программе указывается имя константы, вместо неё подставляется значение. Константы используются для хранения данных, которые не должны изменяться во время выполнения программы.
Прежде чем использовать константу, её необходимо объявить. Константы объявляются с помощью ключевого слова const
, за которым следует имя константы. Чтобы в коде программы отличать константы от переменных, константам условились давать имена написанные заглавными буквами:
const MAX = 10;
После того как константа создана, попытка переопределить её на переменную или попытка присвоить существующей константе значение вызовет ошибку.
Зачем нужны переменные и константы
Переменные и константы помогают сделать программный код понятнее. Рассмотрим небольшой пример:
totalPrice = 2.42 + 4.33; // Общая цена
Имеющиеся здесь числа могут означать что угодно. Чтобы стало понятно, что именно здесь суммируется, значение 2.42 можно присвоить переменной (или константе) candyPrice
(цена конфет), а 4.33 – переменной (или константе) oilPrice
(цена масла):
totalPrice = candyPrice + oilPrice;
Теперь вместо того, чтобы вспоминать, что эти значения означают, можно увидеть, что в сценарии складывается цена конфет с ценой масла.
Также, переменные и константы помогают экономить время при отладке сценария. Вместо того, чтобы везде использовать один и тот же литерал, его можно присвоить в начале сценария переменной (или константе), и далее в остальном коде сценария вместо литерала использовать переменную (или константу). Если позднее будет принято решение об изменении значения, то вносить изменения в коде придётся не в нескольких местах, а только в одном месте – там, где переменной (или константе) присваивалось значение.
Область видимости констант
К константам применяются те же правила, что и к переменным, объявленным с помощью ключевого слова let
:
const MAX = 5; // Глобальная константа { const MAX = 10; // Блочная константа console.log(MAX); // 10 } console.log(MAX); // 5 foo(); // 15 console.log(MAX); // 5 function foo() { const MAX = 15; // Локальная константа console.log(MAX); }
Константы и ссылочные типы
Когда константе присваивается значение ссылочного типа, то неизменяемой становится ссылка на значение, а само значение остаётся доступным для изменений:
const obj = {a: 5}; obj.a = 10; console.log(obj.a); // 10
С этой темой смотрят: