ECMAScript 5.1 – Strict Mode y JSON
Ya podemos empezar a utilizar lo nuevo del ECMAScript en los últimos exploradores.
Estas son dos interesantes del nuevo standard (5.1):
- Strict Mode
- JSON
Soporte de exploradores (para los temas de este post, no todo el ECMAScript 5.1):
- Firefox 4
- Chrome 13
- Safari 5.1
- Opera 11.6
- Internet Explorer 9 (sólo JSON, Strict Mode va a estar para la versión 10)
Strict Mode
Aplicando el Modo Estricto en el código es una forma de restringir lo que hacemos en nuestro javascript validando esas cosas que javascript nos deja hacer y despues tenemos problemas difíciles de solucionar.
Eso es todo, simplemente un string y el interpretador se va a encargar de usarlo. Al ser un string, los exploradores que no lo conocen simplemente no lo van a utilizar, pero tampoco va a dar ningun tipo de error.
Lo interesante de este modo es que nos ayuda a programar de una forma más sana en javascript, alguna de las cosas que nos va a validar:
- variables
- Declaración de variables obligatoria: Dispara un error si asignamos una variable que no declaramos con var previamente.</p>
- delete
- Utilizar delete para borrar una variable, función o argumento dispara un error.</p>
- eval y with
- Utilizar eval o with está prohibido, por lo que cualquier uso de los mismos dispara un error.</p>
- propiedades o parametros duplicados
- Definir propiedades mas de una vez en un objeto literal o definir mas de una vez parametros en una función resultan en error.</p>
Por último, podemos utilizar el modo estricto encapsulado, es decir, este modo cumple con el alcance (scope) de una variable/ función en js, por lo que podriamos decir:
JSON
Si ya estuvieron trabajando con serializaciones de objetos en javascript (JSON) seguramente usaron el famoso script json2.js o alguna otra librería.
Bueno, en este nuevo standard ya tenemos la clase JSON incluida, no necesitamos referenciarla a otra librería. Lo bueno es que si usabamos json2.js, no necesitamos cambiar nada en el código, ya que los métodos de la clase JSON siguen siendo iguales. Sólo deberiamos cambiar la referencia en el HTML para que si es una version de explorador que no lo soporta, esté incluida.
Por ejemplo:
De esta manera cubrimos el caso en que esté utilizando un explorador viejo de internet explorer, sino, dejamos que el motor del explorador se encargue.
Si utilizan otra librería, no saquen su referencia todavia y piensen en cambiarlo de a poco. Para el cliente es un pedido y una descarga menos del servidor.