Warum müssen wir immer noch ein String-Literal in Anführungszeichen verwenden, um strict
in JS einzuschalten? Sicherlich könnte etwas, das ein bisschen stärker "typisiert" ist, hier verwendet werden, wie zum Beispiel eine eingebaute Funktion, sagen wir Object.UseStrict()
oder so ähnlich. Was ist der Grund dafür, dass man auf ein String-Literal zurückgreifen muss?Warum ist "use strict" immer noch ein String-Literal?
6
A
Antwort
13
Kompatibilität über alle Browser und JS-Laufzeit-Engines.
Z. B. http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/
Keine neuen Syntax, um zu ermöglichen, Strict-Modus eingeführt. Das ist riesig. Das bedeutet, dass Sie den strikten Modus in Ihren Skripten aktivieren können - heute - und es wird im schlimmsten Fall keine Nebenwirkung in alten Browsern geben.
+0
Danke Dave, toller Link. – ProfK
Verwandte Themen
- 1. Aktivieren Sie immer 'Use strict'; standardmäßig?
- 2. Ist in ECMAScript 6 "use strict" erforderlich?
- 3. jshint "use strict" -Ausgabe
- 4. „use strict“ in Javascript
- 5. JavaScript 'use strict'; Inside-Funktionen
- 6. "use strict" nur im debug?
- 7. erfordern (‚use-strict‘) ist für mich
- 8. Ist "use strict" für Live-Sites sicher?
- 9. AngularJS Controller und "use strict"
- 10. "Use Strict" in einer TypeScript-Datei benötigt?
- 11. Verhindern Sie "use strict" in Typoskript?
- 12. Warum "Use Strict" verbessert die Leistung 10x in diesem Beispiel?
- 13. Javaw erstellt immer noch ein Konsolenfenster; Warum ist das?
- 14. Können Kommentare vor `use strict;` kommen?
- 15. YUI Compressor und "Use Strict" Hinweis
- 16. 'Use-strict' aktiviert, aber nicht in Knoten
- 17. Problem mit 'Use strict' und underscore.js
- 18. Was bedeutet in ECMAScript5 "use strict"?
- 19. Invariant Violation: Ungültiges Tag: 'use strict';
- 20. Ist "Bad Line Breaking" mit "Use Strict" überholt?
- 21. Einstellung NOEXEC ON führt immer noch "USE" Anweisung
- 22. Warum ist 'use strict' normalerweise nach einem IIFE (anstatt am Anfang eines Skripts)?
- 23. graphics.h - installiert es, warum immer noch Fehler?
- 24. Node.js und eslint stimmen nicht auf "use strict"
- 25. Zweck von `jshint globalstrict: true` mit 'use strict'
- 26. Ist C++ immer noch effektiv?
- 27. Ist ein Repository immer noch ein Repository ohne Arbeitseinheit?
- 28. Warum ist ECMAScript immer noch keine Empfehlung von W3C?
- 29. Warum ist $ .namespace() immer noch nicht Teil der jQuery-Kernimplementierung?
- 30. Warum ist meine Variable immer noch "nicht initialisiert"?
Es ist prägnant und wird keine Fehler in Browsern verursachen, die es nicht unterstützen. – Waxen
Ich dachte nicht, dass es ein Duplikat von "Was macht 'strikt' tun", weil ich weiß, was es tut. Ich habe speziell nach seiner "Syntax" gefragt. – ProfK