J'ai vu des articles concernant l'emplacement de la ligne "use strict" dans un fichier de code TypeScript. Ma question est la suivante: pourquoi l'avoir?
Puisque TypeScript est déjà un langage fortement typé, qu'est-ce que "use strict" ajoute?
javascript
typescript
DeborahK
la source
la source
"use strict";
Réponses:
Mises à jour
"use strict";
est émis dans les modules ( Lire la suite ).--alwaysStrict
option du compilateur analyse tous les fichiers en mode strict et émet"use strict"
en haut de tous les fichiers sortis ( En savoir plus ).Vous pouvez trouver une liste d'exemples en recherchant les tests de TypeScript pour "en mode strict".
Voici quelques exemples de code qui ne lèveront une erreur de compilation que lorsque vous
"use strict";
:Il existe quelques autres exemples où
"use strict";
générerait une erreur uniquement lors de l'exécution. Par exemple:Personnellement, je ne trouve pas cela très utile pour m'empêcher de faire des erreurs dans TypeScript et le bruit supplémentaire qu'il ajoute à un fichier ne me donne pas la peine de l'écrire. Cela dit, à partir de TS 2.1, j'activerai l'
--alwaysStrict
option du compilateur car elle ajoute une légère rigueur supplémentaire sans aucune surcharge de maintenance du code.la source
use strict
chaîne déclarée en haut d'un fichier TS peut apparaître dans la fonction module plutôt qu'en haut du fichier, modifiant ainsi légèrement la sémantique."use strict;"
Pour mon argent, oui ,
"use strict";
devrait être inclus dans les fichiers TypeScript.Indépendamment des effets de temps de compilation de
"use strict";
sur Typescript, il y a probablement un impact d' exécution lorsque le javascript généré est exécuté:MDN identifie les améliorations de performances en évitant le boxing
this
dans les appels de fonction et la suppression des propriétésfunction.caller
etfunction.arguments
.Jeff Walden de Mozilla a également fait allusion aux opportunités de gains de performances dans cette réponse .
la source