¿Qué entornos (javascript) admiten el modo estricto ECMAScript 5? (también conocido como "use strict")


ECMAScript 5 está en su borrador final mientras escribo esto; debe incluir un modo estricto que le impedirá asignar al objeto global, usar eval y otras restricciones. (El artículo de John Resig es una buena introducción.)

Este modo mágico de guardar la 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 ambiente estricto, usted podría estar dejando una bomba de tiempo de código no-realmente-estricto que se romperá cuando realmente golpea un ambiente estricto.

¿Qué entornos realmente respetan el "uso estricto"?

Author: Shog9, 2009-09-15

4 answers

Actualización :

Ver mi tabla de compatibilidad.

Respuesta original :

Ninguno hasta ahora.

Raphael Speyer estaba trabajando en la implementación de Mozilla para Rhino durante este verano, y afaik, su implementación está bastante cerca de completarse.

Sé (basado en información de ES-discuss list) que Microsoft planea incluir algunas de las características de ES5 en las próximas versiones de IE y que muy bien podrían estar trabajando en estricta implementación de modo en este momento (como probablemente sepa, IE8 ya incluye algunas de las características de ES5, como Object.defineProperty).

También está el proyecto Caja de Google que emula un poco 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 validaciones adicionales (según ES5-strict rules).

 26
Author: kangax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-12 21:23:36

Ahora que en realidad es lanzado, Firefox 4 es el ganador de "primer navegador para apoyar el Modo estricto ES5."Ahora puedes empezar a usarlo, siempre y cuando pruebes 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 es compatible con el modo estricto.

Encontrado a través de esta tabla de compatibilidad.


Jurásico afirma que admite el modo estricto ES5.

 12
Author: Sean McMillan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-02 18:52:56

El modo estricto ECMAScript 5 requiere estas versiones para los principales navegadores (o superiores):

Cromo 13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Opera 11.6

No, IE9 no tiene soporte estricto, es nuevo en la versión 10 o posterior.

 9
Author: Lee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-14 16:38:56

Opera 11.60 ya es totalmente compatible con ECMAScript 5.1 y su estricta variación de modo. Consulte la tabla de compatibilidad de @kangax.

 1
Author: marcio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-13 04:20:44