Ich habe Beiträge darüber gesehen, wo die Zeile "use strict" in eine TypeScript-Codedatei eingefügt werden soll. Meine Frage ist, warum überhaupt?
Was fügt "use strict" hinzu, da TypeScript bereits eine stark typisierte Sprache ist?
javascript
typescript
DeborahK
quelle
quelle
"use strict";
Antworten:
Aktualisierung
"use strict";
wird in Modulen ausgegeben ( Lesen Sie mehr ).--alwaysStrict
Compiler-Option analysiert alle Dateien im strengen Modus und gibt sie"use strict"
oben in allen ausgegebenen Dateien aus ( Lesen Sie mehr ).Eine Liste einiger Beispiele finden Sie, indem Sie in den TypeScript-Tests nach "im strengen Modus" suchen.
Hier sind einige Beispiele für Code, der nur dann einen Fehler bei der Kompilierung auslöst, wenn Sie
"use strict";
:Es gibt noch einige Beispiele, bei denen
"use strict";
nur zur Laufzeit ein Fehler ausgegeben wird. Beispielsweise:Persönlich finde ich es nicht allzu nützlich, um zu verhindern, dass ich Fehler in TypeScript mache, und das zusätzliche Rauschen, das einer Datei hinzugefügt wird, macht mir keine Mühe, sie zu schreiben. Ab TS 2.1 werde ich jedoch die
--alwaysStrict
Compiler-Option aktivieren, da sie die geringfügige zusätzliche Strenge ohne zusätzlichen Aufwand für die Codewartung hinzufügt.quelle
use strict
Zeichenfolge, die am Anfang einer TS-Datei deklariert ist, möglicherweise in der Modulfunktion statt am Anfang der Datei angezeigt wird. Ändern Sie daher die Semantik geringfügig."use strict;"
Für mein Geld, ja ,
"use strict";
sollte in Typoskript - Dateien enthalten sein.Wenn die Auswirkungen der Kompilierungszeit
"use strict";
auf Typescript nicht berücksichtigt werden, hat dies wahrscheinlich Auswirkungen auf die Laufzeit, wenn das generierte Javascript ausgeführt wird:MDN identifiziert Leistungsverbesserungen beim Vermeiden von Boxen
this
in Funktionsaufrufen und beim Entfernen der Eigenschaftenfunction.caller
undfunction.arguments
.Jeff Walden von Mozilla hat in dieser Antwort auch Möglichkeiten für Leistungssteigerungen angedeutet .
quelle