OOP mit JavaScript Grundkurs

Der use-strict-Modus

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die Direktive "use strict" gibt es seit JavaScript 1.8.5 (ECMAScript 5). Sie ist keine Anweisung, sondern ein literaler Ausdruck, den moderne JavaScript-Engines verstehen. Damit kann man das Entstehen von Variablen "on-the-fly" verhindern. Das steigert die Qualität, Sicherheit und Stabilität von JavaScript-Code erheblich.
03:58

Transkript

In vielen Fällen ist es wichtig, dass Sie eine gewisse Kontrolle über Datentypen und Variablen haben. Vor allen Dingen in der objektorientierten Programmierung. Nicht nur da, aber vor allen Dingen. Es ist ja in JavaScript so, dass sich Variablen nicht nur im Wert ändern können, sondern auch im Datentyp. Das heißt eine Variable, der ein numerischer Wert zugewiesen wird, der kann später zum Beispiel ein String zugewiesen werden. Das ist der Punkt 1 der Facette. Der andere Punkt ist, dass Variablen on the fly entstehen können. Das heißt, so eine Anweisung wie hier, "x=3.14", würde dazu führen, dass eine Variable "x" entsteht, sofern sie nicht vorher bereits deklariert, beziehungsweise, angelegt wurde. Variablen entstehen also on the fly. Und das ist nicht immer sinnvoll. Beispielsweise haben Sie Buchstabendreher, Groß- und Kleinschreibung unterschieden, und schon ist eine neue Variable entstanden, statt einer bestehenden Variable einen neuen Wert zuzuweisen. Mit dem literalen Ausdruck "use strict", Sie sehen, dass ist hier ein String, der mit einem Semikolon beendet wird, kann man verhindern, dass in JavaScript Variablen on the fly entstehen. In ECMAScript Version 5, ist das hier eingeführt worden. Das entspricht in etwa JavaScript 1.85. Ältere Engines werden diesen literalen Ausdruck ignorieren. Es ist explizit keine Anweisung, deswegen ist das Ignorieren möglich. Und neuere Engines werden das unterstützen. Was tut dieser Ausdruck nun? Oder was bewirkt er im Engine? Bewirkt er, dass sich der Datentyp einer Variable nicht ändern kann? Nein, aber er bewirkt, dass eine Deklaration einer Variable zwingend ist. In diesem Fall hier, habe ich nur eine Wertzuweisung zu einem Bezeichner "x", aber keine Deklaration über das Schlüsselwort "var". Und das führt zu einem Fehler. Wir schauen uns das mal an. Das sieht man hier in Firefox mit der Erweiterung Firebug in der Konsole, dass hier ein Fehler dann auftritt. Und wenn ich diese Anweisung hier wegnehme, und hier ein Reload durchführe, dann sehen Sie, gibt es keinen Fehler mehr. Sie werden also gezwungen, hier mit dem "var" eine Variable explizit zu deklarieren. Und auch jetzt wird kein Fehler mehr angezeigt. Und wenn Sie sich den Quellcode anschauen, dann sehen Sie, dass hier diese "use strict"-Anweisung benutzt wurde. Aber nochmal, um das Missverständnis auszuräumen: "use strict" führt nicht dazu, dass man nicht den Datentyp nachträglich wechseln kann. Führen wir ein Reload durch und schauen uns dann wieder den Quelltext an. Und Sie sehen, dass ich hier tatsächlich der Variable "x" einen anderen Datentyp zuweise. "use strict" ist also eine sehr sinnvolle Anweisung, um das Entstehen von ungewünschten Variablen on the fly zu verhindern. Und die Anweisung wird in den meisten modernen Browsern bereits unterstützt. Aber nur in den modernen Browsern.

OOP mit JavaScript Grundkurs

Sehen Sie, wie Sie mit JavaScript objektorientiert programmieren können.

3 Std. 8 min (35 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:09.03.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!