JavaScript - Strict Mode

Hallo zusammen, zukünftige JavaScript-Zauberer! Heute tauchen wir in ein Thema ein, das anfangs vielleicht ein bisschen einschüchternd klingen mag, aber ich verspreche euch, es wird so viel Spaß machen wie die Entdeckung einer extra Pommes an der Unterseite eurer Essensbestellung. Wir sprechen über JavaScripts Strict Mode!

JavaScript - Strict Mode

Strict Mode in JavaScript

Stellt euch vor,你们的 instructor, der anfangs mit euch großzügig umgeht und kleine Fehler durchgehen lässt. Aber je weiter ihr fortschreitet, desto strenger wird er und weist euch auf jeden kleinen Fehler hin. Genau das macht JavaScripts Strict Mode – er ist wie ein strenger Fahrlehrer für euren Code!

Strict Mode ist eine in ECMAScript 5 (ES5) eingeführte Funktion, die es euch ermöglicht, ein Programm oder eine Funktion in einen "strengen" Betriebskontext zu platzieren. Dieser strenge Kontext verhindert bestimmte Aktionen und wirft mehr Ausnahmen.

Aktivierung des Strict Mode

Die Aktivierung des Strict Mode ist so einfach wie Pie (und wer liebt nicht Pie?). Ihr müsst lediglich die Zeichenkette "use strict" an den Anfang eures Skripts oder eurer Funktion setzen. Sehen wir uns an, wie das aussieht:

"use strict";

// Euer Code hier

Das ist alles! Ihr habt gerade den Strict Mode für euer gesamtes Skript aktiviert. Aber denkt daran, es ist wie das Anziehen eines Sicherheitsgurtes – es funktioniert nur, wenn ihr es am Anfang macht!

Warum den Strict Mode verwenden?

Nun könnte ihr euch fragen: "Warum möchte ich JavaScript strenger machen? Ist es nicht ohnehin schon kompliziert genug?" Nun, junger Padawan, der Strict Mode ist actually hier, um euch zu helfen. Hier sind einige Gründe, warum ihr ihn verwenden könnt:

  1. Er fängt häufige Codierungsfehler ab und wirft Ausnahmen.
  2. Er verhindert oder wirft Fehler bei relativ "unsicheren" Aktionen.
  3. Er deaktiviert Funktionen, die verwirrend oder schlecht durchdacht sind.
  4. Er macht euren Code sicherer.
  5. Er hilft euch, saubereren Code zu schreiben.

Sehen wir uns ein einfaches Beispiel an:

"use strict";

x = 3.14; // Das wird einen Fehler verursachen

Ohne Strict Mode würde JavaScript gerne eine globale Variable x erstellen. Aber im Strict Mode wirft er einen Fehler, weil ihr die Variable mit let, const oder var deklarieren solltet. Es ist wie ein Freund, der euch immer daran erinnert, eure Schuhbänder zu binden!

Strict Mode im Globalen Gültigkeitsbereich

Wenn ihr den Strict Mode im globalen Gültigkeitsbereich (außerhalb jeder Funktion) verwendet, gilt er für das gesamte Skript. Hier ist ein Beispiel:

"use strict";

function doSomething() {
x = 10; // Das wird einen Fehler verursachen
}

doSomething();

In diesem Fall verursacht x = 10 auch dann einen Fehler, wenn es innerhalb einer Funktion ist, da der Strict Mode für das gesamte Skript aktiviert ist.

Strict Mode im Lokalen Gültigkeitsbereich

Ihr könnt den Strict Mode auch innerhalb einer bestimmten Funktion verwenden. Dies ist nützlich, wenn ihr an einem großen Projekt arbeitet und den Strict Mode nur auf einen bestimmten Teil eures Codes anwenden möchtet. Hier ist, wie ihr das macht:

function strictFunction() {
"use strict";
// Diese Funktion ist im Strict Mode
y = 20; // Das wird einen Fehler verursachen
}

function nonStrictFunction() {
// Diese Funktion ist nicht im Strict Mode
z = 30; // Das verursacht keinen Fehler
}

strictFunction();
nonStrictFunction();

In diesem Beispiel wirft strictFunction() einen Fehler, aber nonStrictFunction() nicht. Es ist wie ein "Keine Schuhe, Keine Kleidung, Kein Service"-Schild, aber nur für ein Zimmer in eurem Haus!

Fehler, die ihr im Strict Mode vermeiden solltet

Nun sprechen wir über einige häufige Fehler, die der Strict Mode einfängt. Denkt daran als die "dont's" des Strict Mode:

Fehler Beispiel Erklärung
Verwenden von nicht deklarierten Variablen x = 3.14; Variablen müssen mit let, const oder var deklariert werden
Verwenden von delete auf Variablen delete x; Variablen, Funktionen oder Argumente können nicht gelöscht werden
Dopplung von Parameternamen function f(a, a, b) {} Keine doppelten Parameternamen erlaubt
Verwenden der Oktalsyntax var n = 023; Oktalsyntax ist nicht erlaubt
Schreiben in eine schreibgeschützte Eigenschaft var obj = {}; Object.defineProperty(obj, "x", { value: 0, writable: false }); obj.x = 3.14; Kann nicht in schreibgeschützte Eigenschaften schreiben
Verwenden der with-Anweisung with (Math) { x = cos(2); } Die with-Anweisung ist nicht erlaubt

Sehen wir uns ein komplexeres Beispiel an, das einige dieser Regeln demonstrates:

"use strict";

function calculateArea(radius, radius) {
// Dopplung des Parameternamens - das verursacht einen Fehler
with (Math) {
// Verwenden der with-Anweisung - das verursacht einen Fehler
return PI * radius * radius;
}
}

var result = calculateArea(5, 5);
console.log(result);

Dieser Code hat zwei Probleme: Dopplung der Parameternamen und die Verwendung der with-Anweisung. Der Strict Mode wird beide Fehler einfangen und Fehler werfen, was euch hilft, besseren, wartbarer Code zu schreiben.

Zusammenfassend ist der Strict Mode wie ein superkluger, leicht pedantischer Freund, der über euren Schultern schaut, während ihr codet. Es mag am Anfang ärgerlich erscheinen, aber er ist da, um euch zu helfen, ein besserer JavaScript-Entwickler zu werden. Also akzeptiert ihn, verwendet ihn und seht zu, wie eure Codequalität in die Höhe schießt!

Denkt daran, in der Welt der Programmierung geht es darum, klar, präzise und fehlerfrei zu sein – also kodet streng, meine Freunde!

Credits: Image by storyset