`strict mode` in JavaScript

`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.

YouTube Video