No se recomienda utilizar "use strict" en ES6?


Todavía no estoy familiarizado con ECMAScript 6. Acabo de clonar el React Starter Kit repo, que utiliza ES6 para el código de la aplicación. Me sorprendió ver que el linter está configurado para prohibir las ocurrencias de la directiva use strict, que pensé que era recomendada en JavaScript pre-ES6. Entonces, ¿cuál es el punto?

Author: Midiparse, 2015-07-28

1 answers

Los módulos ES6 están siempre en modo estricto. Para citar la parte relevante de la especificación :

10.2.1 Código de Modo estricto

Una unidad sintáctica de Script ECMAScript puede ser procesada usando sintaxis y semántica de modo no restringido o estricto. El código se interpreta como código de modo estricto en las siguientes situaciones:

  • El código global es un código de modo estricto si comienza con un Prólogo de Directiva que contiene una Directiva de Uso Estricto (véase 14.1.1).
  • El código del módulo es siempre código de modo estricto.
  • Todas las partes de una ClassDeclaration o una ClassExpression son código de modo estricto.
  • El código de evaluación es un código de modo estricto si comienza con un Prólogo de Directiva que contiene una Directiva de Uso Estricto o si la llamada a evaluación es una evaluación directa (véase 12.3.4.1) que está contenida en el código de modo estricto.
  • El código de función es un código de modo estricto si la FunctionDeclaration, FunctionExpression, GeneratorDeclaration asociada, GeneratorExpression, MethodDefinition, o ArrowFunction está contenida en strict mode code o si el código que produce el valor de la ranura interna de la función [[ECMAScriptCode]] comienza con un Prólogo de Directiva que contiene una Directiva Use Strict.
  • El código de función que se suministra como argumentos a los constructores de Función y Generador incorporados es código de modo estricto si el último argumento es una cadena que cuando se procesa es un FunctionBody que comienza con un Prólogo de Directiva que contiene una Directiva Estricta de Uso.
 210
Author: Kit Sunde,
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
2015-07-28 19:28:13