In JavaScript you cannot use these reserved words as variables, labels, or function names:
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 |
Words marked with* are new in ECMAScript 5 and 6.
You can read more about the different JavaScript versions in the chapter JS Versions.
Removed Reserved Words #
The following reserved words have been removed from the ECMAScript 5/6 standard:
abstract boolean byte char double final float goto int long native short synchronized throws transient volatile Do not use these words as variables. ECMAScript 5/6 does not have full support in all browsers.
JavaScript Objects, Properties, and Methods #
You should also avoid using the name of JavaScript built-in objects, properties, and methods:
Array Date eval function hasOwnProperty Infinity isFinite isNaN isPrototypeOf length Math NaN name Number Object prototype String toString undefined valueOf
Java Reserved Words #
JavaScript is often used together with Java. You should avoid using some Java objects and properties as JavaScript identifiers:
getClass java JavaArray javaClass JavaObject JavaPackage
Other Reserved Words #
JavaScript can be used as the programming language in many applications.
You should also avoid using the name of HTML and Window objects and properties:
alert all anchor anchors area assign blur button checkbox clearInterval clearTimeout clientInformation close closed confirm constructor crypto decodeURI decodeURIComponent defaultStatus document element elements embed embeds encodeURI encodeURIComponent escape event fileUpload focus form forms frame innerHeight innerWidth layer layers link location mimeTypes navigate navigator frames frameRate hidden history image images offscreenBuffering open opener option outerHeight outerWidth packages pageXOffset pageYOffset parent parseFloat parseInt password pkcs11 plugin prompt propertyIsEnum radio reset screenX screenY scroll secure select self setInterval setTimeout status submit taint text textarea top unescape untaint window
HTML Event Handlers #
In addition you should avoid using the name of all HTML event handlers.
Examples:
onblur onclick onerror onfocus onkeydown onkeypress onkeyup onmouseover onload onmouseup onmousedown onsubmit