JavaScript reserved keywords
In JavaScript, some identifiers are reserved keywords and cannot be used as variable names or function names.
JavaScript Standards
All modern browsers fully support ECMAScript 3 (ES3, the third version of JavaScript, starting in 1999).
ECMAScript 4 (ES4) failed.
ECMAScript 5 (ES5, released in 2009), is the latest official version of JavaScript.
Over time, we are starting to see that all modern browsers have full support for ES5.
JavaScript reserved keywords
Javascript reserved keywords cannot be used as variable, label or function names. Some reserved keywords are used by Javascript for future extensions.
abstract | arguments | 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 |
* The marked keyword is newly added in ECMAScript5.
JavaScript Objects, Properties, and Methods
You should also avoid using the names of built-in JavaScript objects, properties, and methods as JavaScript variable or function names:
Array | Date | eval | function | hasOwnProperty |
Infinity | isFinite | isNaN | isPrototypeOf | length |
Math | NaN | name | Number | Object |
prototype | String | toString | undefined | valueOf |
##Java Reserved KeywordJavaScript Regular Used with Java. There are some Java objects and properties that you should avoid using as JavaScript identifiers: getClassjavaJavaArray javaClassJavaObjectJavaPackage
Windows Reserved Keywords
JavaScript can be used outside of HTML. It can be used as a programming language in many other applications.
In HTML, you must (and for portability, you should) avoid using the names of HTML and Windows objects and properties as Javascript variable and function names:
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 handler
In addition, you should also avoid using the name of the HTML event handler as the name of Javascript variables and functions .
Example:
##Non-standard JavaScript
In addition to reserved keywords, there are also some non-standard keywords in JavaScript implementation.
An example is the const keyword, used to define variables. Some JavaScript engines treat const as a synonym for var. Other engines treat const as a read-only variable definition.
Const is a JavaScript extension. The JavaScript engine supports its use in Firefox and Chrome. But it's not the JavaScript standard ES3 or components of ES5. Recommendation: Do not use it.
onblur | onclick | onerror | onfocus |
onkeydown | onkeypress | onkeyup | onmouseover |
onload | onmouseup | onmousedown | onsubmit |