JavaScript Palabras reservadas


En JavaScript, algunos identificadores son palabras reservadas y no pueden usarse como nombres de variables o funciones.


Estándar de JavaScript

Todos los navegadores modernos son totalmente compatibles con ECMAScript 3 (ES3, la tercera versión de JavaScript, desde 1999).

ECMAScript 4 (ES4) no se aprobó.

ECMAScript 5 (ES5, publicado en 2009).

ECMAScript 6 (ES6, publicado en 2015) es la versión oficial más reciente de JavaScript.

Con el tiempo, hemos comenzado a ver que todos los navegadores modernos ya son totalmente compatibles con ES6.


Palabras reservadas de JavaScript

Las palabras reservadas de JavaScript no se pueden usar como nombres de variables, etiquetas o funciones. Algunas palabras reservadas se utilizan para futuras extensiones de JavaScript.

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

Las palabras clave marcadas con * son las añadidas en ECMAScript5.


Objetos, propiedades y métodos de JavaScript

También debe evitar usar nombres de objetos, propiedades y métodos incorporados de JavaScript como nombres de variables o funciones de Javascript:

Array Date eval function hasOwnProperty
Infinity isFinite isNaN isPrototypeOf length
Math NaN name Number Object
prototype String toString undefined valueOf


Palabras reservadas de Java

JavaScript se usa a menudo junto con Java. Debe evitar usar algunos objetos y propiedades de Java como identificadores de JavaScript:

getClass java JavaArray javaClass JavaObject JavaPackage


Palabras reservadas de Window

JavaScript se puede usar fuera de HTML. Se puede utilizar como lenguaje de programación en muchas otras aplicaciones.

En HTML, debe (y por portabilidad, también debería) evitar usar nombres de objetos y propiedades de HTML y Window como nombres de variables y funciones de Javascript:

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


Manejadores de eventos HTML

Además, también debe evitar usar los nombres de los manejadores de eventos HTML como nombres de variables y funciones de Javascript.

Ejemplo:

onblur onclick onerror onfocus
onkeydown onkeypress onkeyup onmouseover
onload onmouseup onmousedown onsubmit

Otras extensiones