JavaScript (Стандарт ЕСМА-262) определяет набор ключевых слов (keywords), служащих для решения специализированных задач, таких как указание начала или конца управляющей инструкции или выполнение специфической операции. Ключевые слова нельзя использовать как идентификаторы и имена свойств. Вот их полный список (ключевое слово со звездочкой было добавлено в пятой редакции).
- break
- case
- catch
- continue
- debugger*
- default
- delete
- do
- else
- finally
- for
- function
- if
- in
- instanceof
- new
- return
- switch
- this
- throw
- try
- typeof
- var
- void
- while
- with
Кроме того, JavaScript (ЕСМА-262) содержит набор зарезервированных слов (reserved words), которые также нельзя использовать как идентификаторы и имена свойств. Хотя эти слова не имеют специфического применения в языке, они зарезервированы на будущее как потенциальные ключевые слова. Вот полный список зарезервированных слов JavaScript (третьей редакции ЕСМА-262):
- abstract
- boolean
- byte
- char
- class
- const
- debugger
- double
- enum
- export
- extends
- final
- float
- goto
- implements
- import
- int
- interface
- long
- native
- package
- private
- protected
- public
- short
- static
- super
- synchronized
- throws
- transient
- volatile
В пятой редакции список зарезервированных слов в строгом режиме сокращается до следующего:
- class
- const
- enum
- export
- extends
- import
- super
В строгом режиме в пятой редакции в этот список добавляются следующие слова:
- implements
- interface
- let
- package
- private
- protected
- public
- static
- yield
Обратите внимание, что слова let и yield были зарезервированы в пятой редакции, а все остальные — в третьей. Ради совместимости рекомендуется брать за ориентир список из третьей редакции, добавляя в него слова let и yield.
Попытка использовать ключевое слово как имя идентификатора в реализациях ECMAScript 3 приводит к ошибке «Identifier Expected» (ожидается идентификатор). Применение зарезервированного слова с этой же целью в одних реализациях допускается, а в других приводит к ошибке.
В пятой редакции немного изменены правила употребления ключевых и зарезервированных слов. Они по-прежнему не могут быть идентификаторами, но теперь их разрешено использовать как имена свойств в объектах. В общем, для обеспечения совместимости с прошлыми и будущими редакциями ECMAScript лучше не использовать ключевые и зарезервированные слова как идентификаторы и имена свойств.
Кроме ключевых и зарезервированных слов в пятой редакции ЕСМА-262 налагаются ограничения на имена eval и arguments. В строгом режиме они не могут быть идентификаторами и именами свойств, иначе возникнет ошибка.
Полный список уроков JavaScript представлен на этом странице.
Комментарии