`strict mode` in JavaScript
Dieser Artikel erklärt den strict mode
in JavaScript.
YouTube Video
strict mode
in JavaScript
Im JavaScript ist der Strict Mode
eine Funktion, die in ECMAScript 5 (ES5) eingeführt wurde, um Code sicherer zu machen und Fehler zu verhindern. Durch die Verwendung des Strict Mode werden bestimmte flexible Syntaxen und potenziell riskante Funktionen deaktiviert und strengere Fehlerprüfungen durchgesetzt. Dies ermöglicht es Entwicklern, unerwartetes Verhalten zu vermeiden und robusteren sowie leistungsstärkeren Code zu schreiben.
Aktivieren des strict mode
Um den strict mode
zu aktivieren, fügen Sie die folgende Anweisung am Anfang Ihres Codes hinzu.
1"use strict";
Diese Deklaration kann entweder auf das gesamte Skript oder pro Funktion angewendet werden. Wenn es beispielsweise auf das gesamte Skript angewendet wird, können Sie es wie folgt schreiben:.
1"use strict";
2
3function example() {
4 // Strict mode is applied
5}
Wenn es pro Funktion angewendet wird, können Sie es wie folgt schreiben:.
1function example() {
2 "use strict";
3 // Strict mode is applied only within this function
4}
Der strict mode
gilt für jeden Scope individuell und kann daher auch innerhalb einer Funktion aktiviert werden. Da der strict mode
in Modulen standardmäßig aktiviert ist, müssen Sie ihn nicht separat innerhalb des Moduls deklarieren.
Wichtige Merkmale und Unterschiede des strict mode
Die Verwendung von strict mode
ändert einige standardmäßige Verhaltensweisen von JavaScript. Hier sind die wichtigsten Beispiele.
Verbot von impliziten globalen Variablen
Im regulären JavaScript werden nicht deklarierte Variablen automatisch als globale Variablen definiert, aber im strict mode
führt dies zu einem Fehler.
1"use strict";
2
3x = 10; // Error: x is not defined
Variablen müssen immer mit var
, let
oder const
deklariert werden.
Einschränkung der Verwendung reservierter Wörter
Mögliche zukünftige JavaScript-Schlüsselwörter (z. B. implements
, interface
, package
usw.) können im strict mode
nicht als Variablen- oder Funktionsnamen verwendet werden.
1"use strict";
2
3var package = "strict mode"; // Error: Unexpected strict mode reserved word
Änderungen im Verhalten von this
Im normalen Modus bezieht sich this
in einer Funktion auf das globale Objekt (z. B. window
in Browsern), aber im strict mode
ist this
undefined
.
1"use strict";
2
3function example() {
4 console.log(this); // undefined
5}
6
7example();
Dies hilft, Fehler zu vermeiden, die durch die falsche Verwendung von this
verursacht werden.
Verbot des Löschens nicht löschbarer Eigenschaften
Im normalen Modus wird der Versuch, nicht löschbare Objekteigenschaften zu löschen, ohne Fehler ignoriert. Im strict mode
führt dies jedoch zu einem Fehler.
1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name; // Error: Cannot delete property 'name'
Verbot von doppelten Parameternamen
Im normalen Modus ist es erlaubt, Parameter mit demselben Namen mehrfach zu deklarieren, aber im strict mode
führt dies zu einem Fehler.
1"use strict";
2
3function example(a, a) {
4 // Error: Duplicate parameter name not allowed in this context
5}
Verbot der with
-Anweisung
Die with
-Anweisung kann die Lesbarkeit des Codes verringern und ist im strict mode
nicht erlaubt.
1"use strict";
2
3with (Math) {
4 // Error: Strict mode code may not include a with statement
5}
Vorteile des strict mode
Der strict mode
verbessert die Codesicherheit und Effizienz auf verschiedene Weisen.
Verbesserte Fehlererkennung
Im strict mode
werden Fehler erkannt, die im normalen Modus übersehen werden. Dadurch können Entwickler potenzielle Bugs frühzeitig beheben. Zum Beispiel verhindert er die Erstellung unbeabsichtigter globaler Variablen und den Missbrauch reservierter Wörter.
Verbesserte Performance
Im strict mode
können JavaScript-Engines den Code effizienter optimieren. Dadurch kann sich die Ausführungsgeschwindigkeit verbessern.
Erhöhte Codesicherheit
Die Handhabung von this
wird strenger, was den Zugriff auf unnötige globale Objekte verhindert und somit die Codesicherheit verbessert. Darüber hinaus verhindert die Einschränkung der Verwendung reservierter Wörter zukünftige Konflikte mit Schlüsselwörtern.
Kompatibilität und Überlegungen
Der strict mode
wurde mit ECMAScript 5 eingeführt und wird in Browsern, die davor veröffentlicht wurden, nicht unterstützt. Das Aktivieren des strict mode
wird jedoch von nicht unterstützten Browsern einfach ignoriert, ohne das Skript zu beschädigen. Daher kann er in der Regel sicher verwendet werden.
Beim Einführen des strict mode
in ein großes bestehendes Projekt ist gründliches Testen entscheidend, um unerwartete Fehler zu vermeiden.
Fazit
Der strict mode
in JavaScript ist eine äußerst nützliche Funktion, um die Codequalität zu verbessern. Insbesondere für Großprojekte oder die Teamentwicklung wird empfohlen, den Strict-Modus aktiv zu nutzen, um unerwartete Fehler und Bugs zu vermeiden und die Lesbarkeit und Wartbarkeit des Codes zu verbessern.
Das Verstehen und richtige Anwenden des strict mode
hilft, Fallstricke in JavaScript zu vermeiden und ermöglicht eine sicherere und effizientere Entwicklung.
Sie können den obigen Artikel mit Visual Studio Code auf unserem YouTube-Kanal verfolgen. Bitte schauen Sie sich auch den YouTube-Kanal an.