He visto publicaciones sobre dónde colocar la línea de "uso estricto" en un archivo de código TypeScript. Mi pregunta es, ¿por qué tenerlo?
Dado que TypeScript ya es un lenguaje fuertemente tipado, ¿qué agrega "use estricto"?
javascript
typescript
DeborahK
fuente
fuente
"use strict";
Respuestas:
Actualizaciones
"use strict";
se emite en módulos ( Leer más ).--alwaysStrict
opción del compilador analiza todos los archivos en modo estricto y emite"use strict"
en la parte superior de todos los archivos de salida ( Leer más ).Puede encontrar una lista de algunos ejemplos buscando en las pruebas de TypeScript "en modo estricto".
Aquí hay algunos ejemplos de código que solo arrojarán un error de tiempo de compilación cuando usted
"use strict";
:Hay algunos ejemplos más donde
"use strict";
arrojaría un error solo en tiempo de ejecución. Por ejemplo:Personalmente, no me parece tan útil para evitar que cometa errores en TypeScript y el ruido adicional que agrega a un archivo hace que no me moleste en escribirlo. Dicho esto, a partir de TS 2.1, habilitaré la
--alwaysStrict
opción del compilador porque agrega una leve rigidez adicional sin ninguna sobrecarga de mantenimiento del código.fuente
use strict
cadena declarada en la parte superior de un archivo TS puede aparecer en la función del módulo en lugar de en la parte superior del archivo, por lo tanto, altere ligeramente la semántica."use strict;"
Por mi dinero, sí ,
"use strict";
debería incluirse en los archivos TypeScript.Sin tener en cuenta los efectos de tiempo de compilación de
"use strict";
Typecript, es probable que haya un impacto en tiempo de ejecución cuando se ejecuta el JavaScript generado:MDN identifica mejoras de rendimiento para evitar el boxeo
this
en las llamadas a funciones y la eliminación de las propiedadesfunction.caller
yfunction.arguments
.Jeff Walden, de Mozilla, también ha insinuado oportunidades para aumentar el rendimiento en esta respuesta .
fuente