Algunas palabras clave están reservadas, lo que significa que no se pueden utilizar como identificador para declaraciones de variables, declaraciones de funciones, etc.
En JavaScript no puedes utilizar estas palabras reservadas como variables, etiquetas o nombres de funciones:
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 |
Las palabras marcadas con *
son nuevas en ECMAScript 5 y 6.
Puede leer más sobre las diferentes versiones de JavaScript en el capítulo JS Versions.
Palabras reservadas eliminadas
Las siguientes palabras reservadas se han eliminado del estándar ECMAScript 5/6:
abstract | boolean | byte | char |
double | final | float | goto |
int | long | native | short |
synchronized | throws | transient | volatile |
No utilice estas palabras como variables. ECMAScript 5/6 no es totalmente compatible con todos los navegadores.
Objetos, propiedades y métodos de JavaScript
También debes evitar el uso de nombres de objetos, propiedades y métodos integrados 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 utiliza a menudo junto con Java. Debes evitar el uso de algunos objetos y propiedades de Java como identificadores de JavaScript:
getClass | java | JavaArray | javaClass |
JavaObject | JavaPackage |
Otras palabras reservadas
JavaScript se puede utilizar como lenguaje de programación en muchas aplicaciones.
También debes evitar el uso de nombres de objetos y propiedades HTML y de ventana:
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 |
Controladores de eventos HTML
Además, debes evitar utilizar el nombre de todos los controladores de eventos HTML.
Ejemplos:
onblur | onclick | onerror | onfocus |
onkeydown | onkeypress | onkeyup | onmouseover |
onload | onmouseup | onmousedown | onsubmit |
W3Schools es el sitio de desarrolladores web más grande del mundo.