octubre 16th, 2007
Palabras reservadas
Hace unos días nos llegó una queja de un usuario de CDmon donde decía que en Opera no funcionaba bien el gestor de correo electrónico y nos pusimos manos a la obra para ver que problema había. Después de debugar el script utilizando la consola de errores, vimos el siguiente error:
JavaScript - correo.php
Inline script compilation
Syntax error while loading: line 6 of inline script at correo.php :
window.goto=290;
-------------^
¿goto? y que problema da goto... ¿será algo de Opera?... pues no, es algo tan sencillo como que es una palabra reservada. Me siento incluso un poco tontaina por no haber caído en eso antes.
¿Reservada? Si, eso significa que no se puede utilizar ya que puede ser que en futuras versiones de los navegadores haya nuevas implementaciones de javascript las cuales incluyan dichas palabras "reservadas". Entonces, Opera parece que se lo toma muy en serio y directamente lanza error cuando se utilizan estas palabras.
Me comenta Zigotica que hace un tiempo él tuvo problemas con Firefox y la palabra reservada "class".
-
//Esto no funciona
-
function blah(class){
-
}
Parece que aquí cada uno permite lo que le da la gana.
Os dejo un listado de palabras que figuran en la referencia ECMAScript las cuales están reservadas:
Extracto del PDF::Página 14-15
Reserved Keywords
break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof
Future Reserved Words
abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protecte
A continuación os dejo unos enlaces que contienen información con las palabras que NO debéis usar para definir ni variables, ni propiedades, ni métodos, ni ná!.
Palabras reservadas javascript
Referencia ECMAScript, página 14 del PDF



