• JavaScript Video Tutorials

JavaScript - Reserved Keywords



Reserved Keywords in JavaScript

The reserved keywords in JavaScript are predefined keywords used to serve the built-in functionality of the programming language. For example, the var and let keywords are used to define variables, the function keyword is used to define the functions, etc. JavaScript contains more that fifty reserved keywords.

In simple terms, you can't use the reserved keywords as an identifier. If you do, you will get the conflicts, and the code will generate the wrong output or throw an error.

For example, the below code will throw an error as ‘function’ is used as an identifier.

var function = "Hello";

Reserved Keywords

Here is the list of reserved keywords; you can’t use them as an identifier −

abstract doubleimplements return
arguments else in switch
await enum instanceof synchronized
boolean eval int this
break export interface throw
byte extends let throws
case false long transient
catch final native true
char finally new try
class float null typeof
const for package var
continue function private void
debugger goto protected volatile
default if public yield
delete implements short while
do import static with
double in super

Reserved Keywords added in ES5 and ES6

Some new keywords are added in the ES5 and ES6 versions of JavaScript. However, some are currently in use, and some keywords are reserved for future versions.

await class enum export
extends import let Super

Removed Reserved Keywords

Some reserved keywords are removed from JavaScript, which you can’t use to achieve a particular functionality. Still, you can’t use the keywords below as an identifier as many browsers don’t support them.

abstract boolean byte char
double final float goto
int long native short
synchronized throws transient volatile

JavaScript Objects, Properties, and Methods

You should not use the name of JavaScript built-in objects, properties, and methods names as an identifier.

JavaScript Built-in Objects

Array ArrayBuffer Boolean DataView
Date Error eval Float32Array
Float64Array Function Generator GeneratorFunction
Int8Array Int16Array Int32Array Intl
JSON Map Math Number
Object Promise Proxy RangeError
ReferenceError Reflect RegExp Set
String Symbol SyntaxError TypeError
Uint8Array Uint8ClampedArray Uint16Array Uint32Array
URIError WeakMap WeakSet

JavaScript Built-in Properties

length constructor prototype __proto__ caller callee

JavaScript Methods

toString shift indexOf split
toLocaleString unshift lastIndexOf substr
valueOf slice includes substring
toLocaleDateString splice isArray toLowerCase
toLocaleTimeString sort from toLocaleLowerCase
toLocaleString forEach of toUpperCase
toFixed map charAt toLocaleUpperCase
toExponential filter charCodeAt trim
toPrecision reduce codePointAt startsWith
concat reduceRight normalize endsWith
join every repeat match
pop some replace test
push find search reverse
findIndex slice

However, you can explore more built-in JavaScript methods and avoid using them as an identifier.

Other Reserved Keywords

JavaScript can be used with other programming languages like HTML, Java, etc. So, you should also avoid keywords that are reserved in HTML, Java, etc.

Here is the list of other reserved keywords, and most of them are properties of the ‘window’ object.

alert elements frameRate radio
all embed hidden reset
anchor embeds history screenX
anchors encodeURI image screenY
area encodeURIComponent images scroll
assign escape offscreenBuffering secure
blur event open select
button fileUpload opener self
checkbox focus option setInterval
clearInterval form outerHeight setTimeout
clearTimeout forms outerWidth status
clientInformation frame packages submit
close innerHeight pageXOffset taint
closed innerWidth pageYOffset text
confirm layer parent textarea
constructor layers parseFloat top
crypto link parseInt unescape
decodeURI location password untaint
decodeURIComponent mimeTypes pkcs11 window
defaultStatus navigate plugin document
navigator prompt element frames
propertyIsEnum

HTML Event Handlers

You shouldn’t use the HTML even handlers as a variable name in JavaScript.

Here, we have listed some of the event handlers.

onclick ondblclick onmouseover onmouseout
onmousemove onkeydown onkeyup onkeypress
onfocus onblur onchange onsubmit
onreset onload onunload onresize
onscroll

In short, you should avoid using all the above keywords as a variable or function name.

Advertisements