- Javascript Basics Tutorial
- Javascript - Home
- JavaScript - Overview
- JavaScript - Features
- JavaScript - Enabling
- JavaScript - Placement
- JavaScript - Syntax
- JavaScript - Hello World
- JavaScript - Console.log()
- JavaScript - Comments
- JavaScript - Variables
- JavaScript - let Statement
- JavaScript - Constants
- JavaScript - Data Types
- JavaScript - Type Conversions
- JavaScript - Strict Mode
- JavaScript - Reserved Keywords
- JavaScript Operators
- JavaScript - Operators
- JavaScript - Arithmetic Operators
- JavaScript - Comparison Operators
- JavaScript - Logical Operators
- JavaScript - Bitwise Operators
- JavaScript - Assignment Operators
- JavaScript - Conditional Operators
- JavaScript - typeof Operator
- JavaScript - Nullish Coalescing Operator
- JavaScript - Delete Operator
- JavaScript - Comma Operator
- JavaScript - Grouping Operator
- JavaScript - Yield Operator
- JavaScript - Spread Operator
- JavaScript - Exponentiation Operator
- JavaScript - Operator Precedence
- JavaScript Control Flow
- JavaScript - If...Else
- JavaScript - While Loop
- JavaScript - For Loop
- JavaScript - For...in
- Javascript - For...of
- JavaScript - Loop Control
- JavaScript - Break Statement
- JavaScript - Continue Statement
- JavaScript - Switch Case
- JavaScript - User Defined Iterators
- JavaScript Functions
- JavaScript - Functions
- JavaScript - Function Expressions
- JavaScript - Function Parameters
- JavaScript - Default Parameters
- JavaScript - Function() Constructor
- JavaScript - Function Hoisting
- JavaScript - Self-Invoking Functions
- JavaScript - Arrow Functions
- JavaScript - Function Invocation
- JavaScript - Function call()
- JavaScript - Function apply()
- JavaScript - Function bind()
- JavaScript - Closures
- JavaScript - Variable Scope
- JavaScript - Global Variables
- JavaScript - Smart Function Parameters
- JavaScript Objects
- JavaScript - Number
- JavaScript - Boolean
- JavaScript - Strings
- JavaScript - Arrays
- JavaScript - Date
- JavaScript - DataView
- JavaScript - Math
- JavaScript - RegExp
- JavaScript - Symbol
- JavaScript - Sets
- JavaScript - WeakSet
- JavaScript - Maps
- JavaScript - WeakMap
- JavaScript - Iterables
- JavaScript - Reflect
- JavaScript - TypedArray
- JavaScript - Template Literals
- JavaScript - Tagged Templates
- Object Oriented JavaScript
- JavaScript - Objects
- JavaScript - Classes
- JavaScript - Object Properties
- JavaScript - Object Methods
- JavaScript - Static Methods
- JavaScript - Display Objects
- JavaScript - Object Accessors
- JavaScript - Object Constructors
- JavaScript - Native Prototypes
- JavaScript - ES5 Object Methods
- JavaScript - Encapsulation
- JavaScript - Inheritance
- JavaScript - Abstraction
- JavaScript - Polymorphism
- JavaScript - Destructuring Assignment
- JavaScript - Object Destructuring
- JavaScript - Array Destructuring
- JavaScript - Nested Destructuring
- JavaScript - Optional Chaining
- JavaScript - Global Object
- JavaScript - Mixins
- JavaScript - Proxies
- JavaScript Versions
- JavaScript - History
- JavaScript - Versions
- JavaScript - ES5
- JavaScript - ES6
- ECMAScript 2016
- ECMAScript 2017
- ECMAScript 2018
- ECMAScript 2019
- ECMAScript 2020
- ECMAScript 2021
- ECMAScript 2022
- JavaScript Cookies
- JavaScript - Cookies
- JavaScript - Cookie Attributes
- JavaScript - Deleting Cookies
- JavaScript Browser BOM
- JavaScript - Browser Object Model
- JavaScript - Window Object
- JavaScript - Document Object
- JavaScript - Screen Object
- JavaScript - History Object
- JavaScript - Navigator Object
- JavaScript - Location Object
- JavaScript - Console Object
- JavaScript Web APIs
- JavaScript - Web API
- JavaScript - History API
- JavaScript - Storage API
- JavaScript - Forms API
- JavaScript - Worker API
- JavaScript - Fetch API
- JavaScript - Geolocation API
- JavaScript Events
- JavaScript - Events
- JavaScript - DOM Events
- JavaScript - addEventListener()
- JavaScript - Mouse Events
- JavaScript - Keyboard Events
- JavaScript - Form Events
- JavaScript - Window/Document Events
- JavaScript - Event Delegation
- JavaScript - Event Bubbling
- JavaScript - Event Capturing
- JavaScript - Custom Events
- JavaScript Error Handling
- JavaScript - Error Handling
- JavaScript - try...catch
- JavaScript - Debugging
- JavaScript - Custom Errors
- JavaScript - Extending Errors
- JavaScript Important Keywords
- JavaScript - this Keyword
- JavaScript - void Keyword
- JavaScript - new Keyword
- JavaScript - var Keyword
- JavaScript HTML DOM
- JavaScript - HTML DOM
- JavaScript - DOM Methods
- JavaScript - DOM Document
- JavaScript - DOM Elements
- JavaScript - DOM Forms
- JavaScript - Changing HTML
- JavaScript - Changing CSS
- JavaScript - DOM Animation
- JavaScript - DOM Navigation
- JavaScript - DOM Collections
- JavaScript - DOM Node Lists
- JavaScript Miscellaneous
- JavaScript - Ajax
- JavaScript - Async Iteration
- JavaScript - Atomics Objects
- JavaScript - Rest Parameter
- JavaScript - Page Redirect
- JavaScript - Dialog Boxes
- JavaScript - Page Printing
- JavaScript - Validations
- JavaScript - Animation
- JavaScript - Multimedia
- JavaScript - Image Map
- JavaScript - Browsers
- JavaScript - JSON
- JavaScript - Multiline Strings
- JavaScript - Date Formats
- JavaScript - Get Date Methods
- JavaScript - Set Date Methods
- JavaScript - Modules
- JavaScript - Dynamic Imports
- JavaScript - BigInt
- JavaScript - Blob
- JavaScript - Unicode
- JavaScript - Shallow Copy
- JavaScript - Call Stack
- JavaScript - Reference Type
- JavaScript - IndexedDB
- JavaScript - Clickjacking Attack
- JavaScript - Currying
- JavaScript - Graphics
- JavaScript - Canvas
- JavaScript - Debouncing
- JavaScript - Performance
- JavaScript - Style Guide
- JavaScript Useful Resources
- JavaScript - Questions And Answers
- JavaScript - Quick Guide
- JavaScript - Functions
- JavaScript - Resources
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 | double | implements | 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.