Правила именования переменных в JavaScript


При выборе имён для переменных важно придерживаться ряда правил — строгих (несоблюдение которых приводит к ошибкам) и рекомендаций (ошибок не вызывают, но облегчают работу с кодом).

Допустимые символы

  • Буквы латинского алфавита (A-Z, a-z)
  • Цифры (0-9), но только не в начале!
  • Символ нижнего подчеркивания (_)
  • Знак доллара ($)

*Другие символы Юникода. Теоретически допустимы символы из других языков, например, кириллица и иероглифы, но общепринятая практика — использование латинских букв, цифр и символов ($) и (_).

Примеры допустимых имён

--

*JavaScript чувствителен к регистру, userName и UserName — это разные переменные.

Примеры недопустимых имён

--

Рекомендации по именованию


(это общие договоренности, а не строгие правила)

  • camelCase — для обычных переменных или функций.
  • PascalCase — для классов и функций-конструкторов.
  • UPPER_CASE — для констант (фиксированных физических и математических величин; конфигурационных констант, например, API-адреса, ключи доступа и т.д.; глобальных констант, которые используются в разных частях проекта; ключей localStorage/sessionStorage и т.д.).

*раньше абсолютно все константы именовались в UPPER_CASE нотации, но с появлением ключевого слова const, теперь это правило так строго соблюдать не обязательно, но для перечисленных выше случаев все же лучше этой рекомендации придерживаться.

И куда же без банального :)

  • Не злоупотребляйте цифрами — использовать можно, но только если цифры добавляют в название информа-тивности, а не только потому что имя без цифры уже занято.
  • Избегайте сокращений слов — давайте переменным короткие названия, но без непонятных сокращений. Старайтесь придумывать такие имена, чтобы сразу было понятно что делает функция или что хранит переменная без дополнительного изучения кода.
  • Придерживайтесь одного стиля именования в проекте — это помогает другим разработчикам (и себе в будущем) легче читать и понимать код.

Зарезервированные слова

В JavaScript есть список зарезервированных ключевых слов, которые используются самим языком, поэтому их нельзя использовать в качестве имён переменных — это приведёт к ошибке.
Список зарезервированных слов регулярно обновляется с выходом новых версий стандарта ECMAScript.

Категория Ключевые слова
Стандартные (ES6) break, case, catch, class, const, continue, debugger, default, delete, do, else, export, extends, finally, for, function, if, import, in, instanceof, let, new, return, super, switch, this, throw, try, typeof, var, void, while, with, yield
На будущее await, enum
Строгий режим implements, interface, package, private, protected, public, static
В старых версиях abstract, boolean, byte, char, double, final, float, goto, int, long, native, short, synchronized, transient, volatile