Javascript unterscheidet zwischen Groß- und Kleinschreibung und reagiert sofort auf falsche Großschreibung, verzeiht jedoch kleine Tippfehler, die in anderen Programmiersprachen zu Kompilierungsfehlern führen würden: z. B. das fehlende Semikolon am Ende von Anweisungen.
Die Suche nach Fehlern kostet immer mehr Zeit als das Programmieren.
Die Tatsache, dass Javascript viele kleine Fehler verzeiht, ist nicht hilfreich. Es ist besser, von Anfang an streng mit Javascript umzugehen.
Wenn ein Skript nicht wie vorgesehen funktioniert, sollte man zuerst einen Blick in die Konsole des Browsers werfen.
Die Konsole zeigt Syntaxfehler mit der Zeilennummer an.
Eine Konsole mit Zugriff auf das DOM wird heute von jedem Browser bereitgestellt. Sie wird in jedem Browser anders aufgerufen und die Fehlermeldungen können in den verschiedenen Browsern unterschiedlich sein. Syntaxfehler lassen sich in der Konsole schnell finden, aber die Konsole ist auch das hilfreichste Werkzeug zur Analyse von Logikfehlern.
Groß- und Kleinschreibung
Javascript verzeiht viele Fehler und ist nicht besonders streng, aber wenn es um die Groß- und Kleinschreibung geht, kennt Javascript keine Gnade.
Javascript ist eine Sprache, die zwischen Groß- und Kleinschreibung unterscheidet – d. h. Groß- und Kleinschreibung machen einen Unterschied. let val; ist eine andere Variable als let Val;.
Solche Fehler werden leicht übersehen: IF in Großbuchstaben wird vom Javascript-Interpreter nicht erkannt:
IF (x == y) { …
führt zu einem Fehler im Programm – es sollte heißen:
if (x == y) {
…
}
Klammern und Anführungszeichen
Javascript verzeiht das Fehlen einer öffnenden oder schließenden Klammer nicht, ebenso wenig wie das Fehlen eines öffnenden oder schließenden Apostrophs.
Gegen diese Fehlerquelle hilft ein Programm-Editor mit Syntaxhervorhebung, der die Schlüsselwörter der Programmiersprache erkennt und hervorhebt.
Bei den geschweiften Klammern für Anweisungsblöcke gehen die Meinungen auseinander: Öffnende Klammer rechts oder links?
block
{
…
}
In vielen Programmiersprachen einwandfrei verwendet, funktioniert
block { … }Funktioniert in Javascript einwandfrei
Die öffnende geschweifte Klammer immer links funktioniert in vielen Programmiersprachen einwandfrei und wird oft auch als Standardnotation empfohlen.
In Javascript kann eine geschweifte Klammer links zu stillen Fehlern führen.
JavaScript setzt automatisch Semikolons – und das manchmal an der falschen Stelle.
Camel Case: Bindestriche sind Minuszeichen
Die Namen von JavaScript-Variablen dürfen keinen Bindestrich enthalten, da sonst ein Syntaxfehler auftritt, weil der Bindestrich in JavaScript als Minuszeichen interpretiert wird. Die Programmierkonventionen für JavaScript lauten daher: Zusammengesetzte Variablennamen werden als Camel Case geschrieben.
Beim Camel Case wird der Bindestrich weggelassen und das Wort nach dem Bindestrich beginnt mit einem Großbuchstaben: camelCase statt camel-case, mainTitle statt main-title.
Leerzeichen und Zeilenumbrüche
Javascript ist ziemlich unempfindlich gegenüber Leerzeichen und Zeilenumbrüchen. Der Code kann also schön angeordnet werden, um ihn lesbar zu machen.
Der Zeilenumbruch innerhalb der Zeichenfolge führt jedoch zu einem Syntaxfehler.
In der Regel sollte eine Javascript-Anweisung in einer Zeile stehen, aber ein Zeilenumbruch macht lange Anweisungen lesbarer.
Denken Sie immer daran, dass Javascript das Semikolon am Ende einer Zeile selbst setzt.
Das Semikolon
Javascript-Anweisungen werden mit einem Semikolon beendet. Befindet sich am Ende einer Anweisung ein Zeilenumbruch, versucht Javascript, das Semikolon selbst einzufügen, wenn der Programmierer keines gesetzt hat.
Am Ende einer geschweiften Klammer benötigt Javascript kein Semikolon.
Ein Semikolon am Ende einer geschweiften Klammer erzeugt eine zusätzliche leere Anweisung. Das ist an sich nichts Schlechtes und führt auch nicht zu einer Fehlermeldung, verbraucht aber einen ganzen Zyklus, um nichts zu tun.
Auch wenn das Semikolon am Ende einer regulären Anweisung in Javascript weggelassen werden kann: Es ist besser, immer ein Semikolon zu setzen.
Javascript-Kommentare
Kommentare in Javascript sehen wie Kommentare in Java oder PHP aus.
Ein einzeiliger Kommentar wird durch einen doppelten Schrägstrich // am Anfang der Zeile gekennzeichnet.
Ein mehrzeiliger Kommentar beginnt mit /* und endet mit */.
Literale
Ein Literal ist ein Datenwert, der wörtlich im Programm geschrieben wird, z. B. die Zeichenkette „Hello world” oder die Zahl 42. Zeichenkettenliterale müssen in Anführungszeichen gesetzt werden, wobei am Anfang und am Ende der Zeichenkette derselbe Anführungszeichentyp verwendet werden muss. Anführungszeichen am unteren und oberen Rand (Smart Quotes) sind nicht zulässig.
Schlüsselwortliterale wie null oder true werden nicht in Anführungszeichen gesetzt.
„use strict”;
Der strenge Modus für Javascript kam mit ECMAScript 5. Mit „use strict”; (in doppelten Anführungszeichen!) am Anfang eines Skripts oder in einer Funktion wird Javascript strenger und wirft mehr Ausnahmen. Beispielsweise verlangt Javascript die Übereinstimmung von Variablen mit var, let oder const.
Wenn Sie Ihre Skripte mit JSLint überprüfen, müssen Sie immer „use strict“ voranstellen. Und die regelmäßige Syntaxprüfung mit JSLint lohnt sich. Sie führt Stück für Stück zu automatisch besserem Javascript. JSLint bemängelt bereits, wenn die übliche Einrückung in Funktionen weggelassen wird oder wenn Funktionen aufgerufen werden, bevor sie definiert sind: Es gibt nichts Schöneres als schöneren Code. Natürlich müssen Sie JSLint nicht bis ins letzte Detail befolgen!
