Besser JavaScript lernen über Strict Mode

Ursprünglich war die Programmiersprache JavaScript auch durch seine Entstehungsgeschichte sehr fehlertolerant. Die Lager der Browserentwickler haben ursprünglich auch JavaScript als Machtmittel missbraucht – daher musste bzw. wurde JavaScript in seinen frühen Tagen fehlertoleranter.

Das führte sehr schnell zu fehleranfälliger schlampiger Programmierung. Und hier hilft einfach schon beim Lernen der Sprache diese ohne fehleranfällige Vorgehensweisen sich anzueignen und den strengeren Modus (spricht „stict mode“), der schnell auf Fehler und Probleme hinweist, einzuschalten.

strict mode einschalten

Wir können für das komplette Programm strict mode aktivieren oder auch nur für bestimmte Programmteile. Es macht natürlich zum Lernen von JavaScript Sinn, den strengeren Modus immer zu aktivieren um auf alle Fehler und möglichen Fehlerquellen und Probleme hingewiesen zu werden.

Dazu wird gleich am Anfang unseres JavaScript-Programms der Scrict Mode eingeschaltet

'use strict';
let x = 42;

Die Anführungszeichen um unseren use strict sind für ältere Browser wichtig, die diese Anweisung noch nicht kennen. Für diese ist dann die Zeile nur ein String und wird ignoriert. Dabei ist es egal, ob einfache oder doppelte Anführungszeichen verwendet werden.

strict mode Auswirkungen

Ab jetzt dürfen wir nicht mehr schlampig Variablen einfach nutzen, sondern müssen diese deklarieren (sprich einführen mit let bzw. var.

Folgender JavaScript-Code würde ohne use strict einfach ausgeführt, auch wenn er durch die fehlende Deklaration schlampig programmiert ist. Sobald nun unserer Strikter Modus einschaltet wird, erhalten wir eine leere Browserseite (Programm wird abgebrochen) und eine Fehlermeldung in der Console.

'use strict';
inhalt = 'Hallo Welt';

Die entsprechende Fehlermeldung in der Console, die man bei der Entwicklung von JavaScript-Programmen und beim Lernen immer sich anzeigen lassen sollte:

Ausgabe der Fehlermeldung bei Einsatz von use strict

Die Fehlermeldung kann ja nach Browser sich unterscheiden, daher bitte nicht wundern, wenn im Kurs (hier wird Google Chrome verwendet) eine andere Fehlermeldung sichtbar wird wie bei einem selber, wenn man einen anderen Browser verwendet.

Korrekt wäre also folgender Code:

'use strict';
let inhalt = 'Hallo Welt';

Es gibt noch weitere Auswirkungen des "strict mode" – diese werden im Verlauf des Kurses dann an der entsprechenden Stelle erklärt. Also bitte in den folgenden Kursteilen immer "use strict" nutzen.