javascript - the - ¿Cómo se interpreta la sentencia ''use strict'' en Node.js?
use the function form of use strict (1)
"use strict";
Básicamente habilita el modo estricto.
El modo estricto es una función que le permite colocar un programa o una función en un contexto operativo "estricto". En un contexto operativo estricto, la forma del método vincula esto a los objetos como antes. La forma de función vincula esto a indefinido, no a los objetos del conjunto global.
Según sus comentarios, usted dice que algunas diferencias estarán allí. Pero es tu suposición. El código Node.js no es más que tu código JavaScript. Todos los códigos de Node.js son interpretados por el motor de JavaScript V8 . El motor de JavaScript V8 es un motor de JavaScript de código abierto desarrollado por Google para el navegador web Chrome.
Por lo tanto, no habrá mayor diferencia sobre cómo "use strict";
es interpretado por el navegador Chrome y Node.js.
Por favor, lea lo que es el modo estricto en JavaScript.
Para más información:
- Modo estricto
- Compatibilidad con el modo estricto ECMAScript 5 en los navegadores
- El modo estricto está llegando a la ciudad
- Tabla de compatibilidad para el modo estricto
- Preguntas sobre desbordamiento de pila: qué hace ''use strict'' en JavaScript y cuál es el razonamiento detrás de esto
Código ECMAScript 6 y modo estricto. Lo siguiente es breve de la especificación :
10.2.1 Código de modo estricto
Una unidad sintáctica de ECMAScript Script puede procesarse usando sintaxis y semántica de modo estricto o no restringido. 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 (ver 14.1.1).
- El código del módulo es siempre el código de modo estricto.
- Todas las partes de una ClassDeclaration o ClassExpression son un 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 eval es una evaluación directa (ver 12.3.4.1) que está contenida en el código de modo estricto.
- El código de función es código de modo estricto si la función FunctionDeclaration, FunctionExpression, GeneratorDeclaration, GeneratorExpression, MethodDefinition o ArrowFunction está contenida en el código de modo estricto o si el código que produce el valor de la función [[ECMAScriptCode]] ranura interna comienza con un Prólogo de directiva que contiene una directiva de uso estricto.
- El código de función que se suministra como argumentos para la función incorporada y los constructores del generador es un código de modo estricto si el último argumento es una cadena que cuando se procesa es un cuerpo de función que comienza con un prólogo de directiva que contiene una directiva de uso estricto.
Además, si no tiene node.green funciones compatibles con su versión actual de Node.js, este node.green puede ayudarle (aprovecha los mismos datos que kangax ).
Esta pregunta ya tiene una respuesta aquí:
Empecé a explorar Node.js y escribí muchas aplicaciones web de demostración para comprender el flujo de Node.js, Express.js, jade, etc.
Pero una cosa que encontré recientemente, es la declaración "use strict"
como la primera línea dentro de cada función y cada archivo .js
.
¿Cómo exactamente es interpretado por Node.js?