JavaScript Зарезервированные ключевые слова
В JavaScript некоторые идентификаторы являются зарезервированными ключевыми словами и не могут использоваться в качестве имён переменных или функций.
Стандарт JavaScript
Все современные браузеры полностью поддерживают ECMAScript 3 (ES3, третья редакция JavaScript, с 1999 года).
ECMAScript 4 (ES4) не был утверждён.
ECMAScript 5 (ES5, выпущен в 2009 году).
ECMAScript 6 (ES6, выпущенный в 2015 году), является последней официальной версией JavaScript.
Со временем мы начали видеть, что все современные браузеры полностью поддерживают ES6.
Зарезервированные ключевые слова JavaScript
Зарезервированные ключевые слова JavaScript нельзя использовать в качестве имён переменных, меток или имён функций. Некоторые зарезервированные ключевые слова зарезервированы для будущих расширений JavaScript.
| abstract | аргументы | логическое значение | break | байт |
| case | catch | char | class* | const |
| continue | debugger | default | удаление | do |
| double | else | enum* | eval | export* |
| extends* | false | final | finally | float |
| for | функция | goto | if | implements |
| import* | in | instanceof | int | interface |
| let | long | native | новый | null |
| package | private | protected | public | return |
| short | static | super* | switch | synchronized |
| this | throw | throws | transient | истина |
| try | typeof | var | void | volatile |
| while | with | yield |
Ключевые слова, отмеченные *, добавлены в ECMAScript 5.
Объекты, свойства и методы JavaScript
Также следует избегать использования имён встроенных объектов, свойств и методов JavaScript в качестве имён переменных или функций JavaScript:
| Массив | Date | eval | функция | hasOwnProperty |
| Бесконечность | isFinite | isNaN | isPrototypeOf | length |
| Math | NaN | name | Number | Object |
| prototype | String | toString | undefined | valueOf |
Зарезервированные ключевые слова Java
JavaScript часто используется вместе с Java. Следует избегать использования некоторых объектов и свойств Java в качестве идентификаторов JavaScript:
| getClass | java | JavaArray | javaClass | JavaObject | JavaPackage |
Зарезервированные ключевые слова Window
JavaScript можно использовать вне HTML. Его можно использовать как язык программирования во многих других приложениях.
В HTML вы должны (а для переносимости также должны) избегать использования имён объектов и свойств HTML и Window в качестве имён переменных и функций JavaScript:
| alert | all | anchor | anchors | area |
| assign | blur | button | checkbox | clearInterval |
| clearTimeout | clientInformation | close | closed | confirm |
| constructor | crypto | decodeURI | decodeURIComponent | defaultStatus |
| document | элемент | элементов | embed | embeds |
| encodeURI | encodeURIComponent | escape | event | fileUpload |
| focus | форма | forms | frame | innerHeight |
| innerWidth | слой | layers | link | location |
| mimeTypes | navigate | navigator | frames | frameRate |
| hidden | history | image | images | offscreenBuffering |
| open | opener | option | outerHeight | outerWidth |
| packages | pageXOffset | pageYOffset | parent | parseFloat |
| parseInt | пароль | pkcs11 | plugin | prompt |
| propertyIsEnum | radio | сброс | screenX | screenY |
| scroll | secure | select | self | setInterval |
| setTimeout | status | submit | taint | text |
| textarea | top | unescape | untaint | window |
Обработчики событий HTML
Кроме того, также следует избегать использования имён обработчиков событий HTML в качестве имён переменных и функций JavaScript.
Примеры:
| onblur | onclick | onerror | onfocus |
| onkeydown | onkeypress | onkeyup | onmouseover |
| onload | onmouseup | onmousedown | onsubmit |
Другие расширения