Modo estricto
ES5 adiciono un "modo estricto" al lenguaje, que aprieta las reglas para ciertos comportamientos. Generalmente, estas restricciones son vista como una manera de mantener un codigo seguro y apropiado a partir de un grupo de directrices. Ademas, adherirse al modo estricto hará su codigo en general sea mas optimo para el motor. El modo estricto es una gran victoria para el codigo, y usted deberá usarlo para todos sus programas.
Usted puede optar por el modo estricto en una funcion individual, o por un archivo completo, dependiendo de donde usted defina el modo estricto.
function foo() {
"use strict";
// este codigo esta en modo estricto
function bar() {
// este codigo esta en modo estricto
}
}
// este codigo no esta en modo estricto
En comparación con:
"use strict";
function foo() {
// este codigo esta en modo estricto
function bar() {
// este codigo esta en modo estricto
}
}
// este codigo esta en modo estricto
Una gran diferencia (mejora!) con el modo estricto es la restricción de declarar implícitamente una variable global omitiendo var
:
function foo() {
"use strict"; // turn on strict mode
a = 1; // `var` missing, ReferenceError
}
foo();
Si usted utiliza el modo estricto en su codigo, este tal vez genere errores, o se comporte raro (buggy); y esto podrá tentarlo a evitar el modo estricto. Pero ese modo de pensar es una mala idea de la cual no sacara ningún provecho.
El modo estricto no solo mantendrá su codigo en un camino mas seguro, o mas optimizable, sino que también representa la dirección a la que va encaminada el lenguaje. Sera mas sencillo que se valla acostumbrando al modo estricto ya que mantenerse alejado de el hará que mas adelante la transición sea mas dura.