Назвать переменную правильно не так просто, как может показаться на первый взгляд. Нужно чтобы она не только соответствовала синтаксису языка программирования, но и несла необходимую смысловую нагрузку, позволяя сделать код понятным.
Ограничения имен переменных в javascript
Особо специфичных требований к символам, которые могут использоваться при составлении имен, нет.
Первое ограничение заключается в том, что первым символом в имени переменной js не должна быть цифра.
Второе позволяет использовать в именах буквы, цифры, и символы «$», «_».
Примеры названий переменных:
var $testName; //верно var test_name; //верно var test18; //верно var $; //верно var _; //верно var 18test; //не верно var test-name; //не верно
Обратите внимание, что символы «$», «_» в применении ничем не отличаются от обычных букв.
Из непривычного может быть только тот факт, что дефис не является разрешенным символом в именах переменных в javascript.
Обратите внимание!
- testName и testname будут разными переменными, поскольку регистр имеет значение.
- Нет ограничений на использование русских букв в именах, но их применение не рекомендуется, во-первых из-за возможных проблем с кодировкой символов в старых браузерах, во-вторых их использование считается дурным тоном при написании скриптов. В остальном такая запись будет верной:
var пробноеИмя = "Юлий"
Какими словами нельзя называть переменные?
Существует ряд слов-исключений, которые нельзя применять в названиях переменных - это зарезервированные слова. Они применяются в самом js для выполнения конкретных функций:
- break
- case
- catch
- class
- const
- continue
- debugger
- Default
- delete
- do
- else
- finally
- for
- Function
- ha
- if
- implements
- in
- instanceof
- let
- new
- return
- switch
- this
- throw
- try
- typeof
- var
- void
- while
Правила составления имен
Не смотря на кажущуюся простоту этого занятия, подобрать имя переменной это настоящее искусство, владение которым приходит в полной мере только спустя тысячи строк написанного кода.
И основная проблема тут не в том, как назвать переменную сейчас, а как назвать ее так, чтобы сев за этот код спустя, скажем, пару месяцев не запутаться в нем и понять что как обозначается. Ведь самое сложное это не написать скрипт, а осуществить его дальнейшую поддержку и развитие.
Для того, чтобы облегчить освоение этого искусства существует ряд правил, которых следует всегда придерживаться составляя имена переменных:
- Транслит-зло. Это означает, что мы пишем английские слова английскими буквами и никак иначе:
var cena; // не верно var prise; // верно var moeImya; // не верно var myName; // верно
- Смысловая нагрузка превыше всего. Понятность того, что содержит переменная стоит на первом месте, даже если для этого придется уместить в названии несколько слов. Укороченные названия по типу a, b, c, im и тд. Вообще не рекомендуется использовать. Исключением служит только тот случай, когда они встречаются в маленьком фрагменте кода в котором очевидно их назначение и использование.
- Для записи имени из нескольких слов пользуемся «Верблюжьей нотацией». Ничего сложного в этом нет — просто каждое новое слово начинается с новой буквы. К примеру : leftSidebar, borderBottomColor ну и так далее. Этот стандарт является общепринятым в js. У него есть альтернатива — писать новые слова через символ подчеркивания (left_sidebar, border_bottom_color), но он достаточно редко используется разработчиками.
- НАЗАВАНИЕ ДОЛЖНО ТОЧНО СООТВЕТСТВОВАТЬ ХРАНИМОМУ ТИПУ ДАННЫХ. Это важнейшее правило. Придумывание коротких и точных имен приходит только с практикой.
Пара советов на будущее:
- называйте переменные первым подходящим названием пришедшим в голову. Если вы через время пытаетесь найти в коде переменную, представляя примерно как она называлась, то даже если она окажется названа по-другому лучше ее переименовать так, как Вы ее искали. К примеру: искали leftBorderWidth, а оказалось, что она названа borderLeftWidth… Переименуйте и секономите время в будущем. Особенно учитывая, что редакторы кода позволяют это сделать за считаные секунды.
- Не стоит бояться создавать новые переменные. Все время перезаписывая существующие переменные, чтобы избежать создания новых, вы теряете в будущем бесчисленные часы на отладку кода. Ведь никто не скажет что сейчас хранится именно в этом месте скрипта в переменной, нужно же теперь проверить, что в ней сейчас записано.