Правила наименования переменных в JavaScript
Требования к названию
В JavaScript как и в любом другом языке программирования существуют строгие синтаксические правила для именования переменных:
-
Имя должно начинаться с буквы (a–z, A–Z), символа подчёркивания (
_) или знака доллара ($).
✅ Разрешено:name,_count,$element
❌ Запрещено:2name,-value,3dModel -
После первого символа можно использовать буквы, цифры (0–9),
_и$.
✅ Разрешено:userName1,total_price,API_KEY
❌ Запрещено:user-name,email@domain,my variable -
Имена чувствительны к регистру —
name,NameиNAME— это три разные переменные. -
Нельзя использовать зарезервированные слова языка как имена переменных:
let,const,var,function,if,else,return,class,import,export,null,true,false,this,new,while,for,break,continue,try,catch,finally,throw,switch,case,default,typeof,instanceof,in,of,async,await,yieldи другие.
❌ Запрещено:let = 5;,function = "test"; -
Нельзя использовать ключевые слова будущих версий ECMAScript, даже если они пока не используются (например,
package,interface,private,protected,public,static).
❌ Лучше избегать:class,enum,implements,module,namespace,super
Рекомендации
Хотя JavaScript позволяет многое, следование общепринятым соглашениям делает код понятным, поддерживаемым и профессиональным:
-
Используйте camelCase для имен переменных и функций.
✅userName,isLoading,getTotalPrice
❌user_name,User Name,usertotalprice -
Для констант (которые не меняются) используйте UPPER_SNAKE_CASE.
✅MAX_USERS,API_URL,DEFAULT_TIMEOUT -
Выбирайте осмысленные, описательные имена — избегайте аббревиатур и однобуквенных имён, если контекст не очевиден.
✅numberOfItems,currentUser,isFormValid
❌n,x,tmp,data1,arr -
Используйте логические имена для булевых переменных — начинайте с
is,has,can,should.
✅isVisible,hasPermission,canSubmit,isLoading -
Избегайте двойных отрицаний — лучше
isDisabled, чемisNotEnabled. -
Не используйте
$в начале имени без причины — хотя$разрешён, он часто используется в библиотеках (например, jQuery) для обозначения объектов DOM. Используйте только если это часть вашей договорённости в проекте (например,const $button = document.querySelector('#btn');). -
Следуйте единому стилю в команде — согласуйте стиль именования в проекте (через ESLint, Prettier или внутренний гайдлайн).
-
Не пишите имена на кириллице — даже если JavaScript это позволяет, это снижает читаемость для международной команды и может вызвать проблемы с инструментами/редакторами.
💡 Рекомендация: «Не жалейте создавать лишнюю переменную» — лучше сделать код более читаемым через понятные имена, чем экономить на количестве строк. Например:
const isEmailValid = validateEmail(userInput); // Читаемо и понятновместо
const v = validateEmail(userInput); // Неясно, что такое v