В JavaScript существует определенный набор ключевых слов и зарезервированных слов, которые имеют специальное значение и не могут быть использованы в качестве идентификаторов (например, имен переменных, функций и т. д.).
Вот список ключевых и зарезервированных слов в JavaScript:
| abstract | arguments | await* | boolean |
| break | byte | case | catch |
| char | class* | const | continue |
| debugger | default | delete | do |
| double | else | enum* | eval |
| export* | extends* | false | final |
| finally | float | for | function |
| goto | if | implements | import* |
| in | instanceof | int | interface |
| let* | long | native | new |
| null | package | private | protected |
| public | return | short | static |
| super* | switch | synchronized | this |
| throw | throws | transient | true |
| try | typeof | var | void |
| volatile | while | with | yield |
Слова, отмеченные *, являются новыми в ECMAScript 5 и ECMAScript 6.