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 и выведите её на экран.
Полезное
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 и выведите её на экран.
Полезное
Ваше упражнение проверяется по этим тестам
// @ts-check
import { expect, test, vi } from 'vitest';
test('constants', async () => {
const consoleLogSpy = vi.spyOn(console, 'log');
await import('./index.js');
const firstArg = consoleLogSpy.mock.calls.join('\n');
expect(firstArg).toBe('3');
});Решение учителя откроется через:
20:00
