JavaScript: Константы

Иногда в программе встречаются значения, которые никогда не должны меняться. Например:

  • математическая константа π (пи);
  • курс доллара на определённую дату;
  • фиксированная комиссия сервиса.

Такие значения называются константами, и их принято отличать от обычных переменных, чтобы не возникало желания их менять.

Пример: число π

const PI = 3.14;
console.log(PI); // => 3.14

Здесь PI является константой, которая хранит значение числа π. Смысл константы в том, что её значение не должно меняться в ходе работы программы.

const в JavaScript

Во многих языках константа — это отдельная сущность языка, значение которой нельзя изменить. В JavaScript для этого есть ключевое слово const. В отличие от обычной переменной, константу, объявленную через const, нельзя переприсвоить:

const maxLoginAttempts = 3;
maxLoginAttempts = 5; // TypeError: Assignment to constant variable.

const vs let

let score = 0;   // будет меняться
const lives = 3; // не меняется

Используйте const по умолчанию. Переходите на let только тогда, когда точно знаете, что значение будет переприсваиваться. Константы проще анализировать: увидев const, читатель сразу знает — значение не изменится нигде в коде. С let такой уверенности нет, приходится отслеживать все места, где переменная могла быть изменена.

Соглашение об именовании

Технически любая переменная, объявленная через const, уже является константой. Но для глобальных констант — тех, что задают фундаментальные параметры всей программы — дополнительно принято использовать стиль UPPER_SNAKE_CASE (его ещё называют SCREAMING_SNAKE_CASE):

  • все буквы заглавные;
  • слова разделяются символом подчёркивания _.
const MAX_USERS = 100;
const DEFAULT_TIMEOUT = 30;
const DEFAULT_LANGUAGE = 'ru';

Это не требование языка, а сигнал читателю: такое значение не должно меняться ни при каких условиях.

Зачем нужны константы?

Константы делают код понятнее и безопаснее. Они помогают сразу увидеть, какие значения в программе считаются фиксированными. Это особенно важно при работе с такими данными, как математические и физические постоянные, настройки по умолчанию или фиксированные лимиты. Использование констант снижает риск ошибок: по объявлению const сразу понятно, что перед нами значение, которое не следует менять. Кроме того, если значение всё же потребуется изменить (например, в настройках), достаточно поменять его в одном месте, и изменение автоматически подхватится во всей программе.

Задание

Создайте константу MAX_LOGIN_ATTEMPTS со значением 3 и выведите её на экран.

Полезное

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются