que - ¿Qué entornos(javascript) admiten el modo estricto ECMAscript 5?(también conocido como "uso estricto")
use strict node (4)
ECMAScript 5 está en su borrador final mientras escribo esto; Se debe incluir un modo estricto que evitará que se asigne al objeto global, utilizando eval y otras restricciones. ( El artículo de John Resig es una buena introducción).
Este mágico modo de ahorro de cordura se activa al incluir la cadena "use strict" en la parte superior de su archivo (o función). Sin embargo, en entornos más antiguos, "use strict" es un no-op. Si agrega "use strict" y no lo prueba en un entorno estricto, podría estar dejando una bomba de tiempo con un código no muy estricto que se romperá cuando realmente llegue a un entorno estricto.
¿Qué entornos realmente respetan "uso estricto"?
Ahora que se ha lanzado, Firefox 4 es el ganador del "primer navegador compatible con ES5 Strict Mode". Ahora puede comenzar a utilizarlo, siempre que lo pruebe en Firefox 4.
Safari 5.1+ y Chrome 13+ también admiten el modo estricto.
El primero está en: Besen . Implementado en Delphi. Creo que es independiente, pero no estoy seguro. Pero sí es compatible con el modo estricto.
Encontrado a través de esta tabla de compatibilidad .
Jurassic afirma que es compatible con ES5 Strict Mode.
El modo estricto ECMAscript 5 requiere estas versiones para los principales navegadores (o superior):
Chrome 13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Opera 11.6
No, IE9 no tiene soporte estricto, es nuevo para la versión 10 o posterior.
Opera 11.60 ya es totalmente compatible con ECMAScript 5.1 y su variación de modo estricto. Ver la tabla de compatibilidad @kangax.
Actualización :
Ver mi tabla de compatibilidad .
Respuesta original :
Ninguno a partir de ahora.
Raphael Speyer estaba trabajando en la implementación de Mozilla para Rhino durante este verano , y afaik, su implementación está casi terminada.
Sé (según la información de la lista ES-discuss) que Microsoft planea incluir algunas de las características de ES5 en las próximas versiones de IE y que podrían estar trabajando en la implementación de modo estricto en este momento (como probablemente sabrá, IE8 ya incluye algunas de las características de ES5, como Object.defineProperty
).
También está el proyecto Caja de Google, que de alguna forma emula el comportamiento del modo estricto en algunas de sus variaciones (Valija, Cajita, etc.).
Crockford también agregó recientemente esta opción a JSLint , pero no estoy seguro de si realmente desencadena alguna validación adicional (según las reglas estrictas de ES5).