Das erste, was wir studieren werden, sind die Bausteine des Codes.
Anweisungen sind Syntaxkonstrukte und Befehle, die Aktionen ausführen.
Wir haben bereits eine Anweisung gesehen, alert('Hello, world!')
, die die Nachricht „Hello, world!“ anzeigt.
Wir können in unserem Code so viele Anweisungen haben, wie wir möchten. Anweisungen können durch ein Semikolon getrennt werden.
Hier teilen wir beispielsweise „Hallo Welt“ in zwei Warnungen auf:
alarm('Hallo'); alarm('Welt');
Normalerweise werden Anweisungen in separate Zeilen geschrieben, um den Code besser lesbar zu machen:
alarm('Hallo'); alarm('Welt');
Ein Semikolon kann in den meisten Fällen weggelassen werden, wenn ein Zeilenumbruch vorhanden ist.
Das würde auch funktionieren:
alarm('Hallo') alarm('Welt')
Dabei interpretiert JavaScript den Zeilenumbruch als „implizites“ Semikolon. Dies wird als automatische Semikoloneinfügung bezeichnet.
In den meisten Fällen impliziert eine neue Zeile ein Semikolon. Aber „in den meisten Fällen“ bedeutet nicht „immer“!
Es gibt Fälle, in denen eine neue Zeile kein Semikolon bedeutet. Zum Beispiel:
Warnung(3 + 1 + 2);
Der Code gibt 6
aus, da JavaScript hier keine Semikolons einfügt. Es ist intuitiv klar, dass es sich um einen „unvollständigen Ausdruck“ handelt, wenn die Zeile mit einem Plus "+"
endet, sodass ein Semikolon dort falsch wäre. Und in diesem Fall funktioniert das wie beabsichtigt.
Aber es gibt Situationen, in denen JavaScript „versagt“, ein Semikolon dort anzunehmen, wo es wirklich benötigt wird.
Fehler, die in solchen Fällen auftreten, sind recht schwer zu finden und zu beheben.
Ein Beispiel für einen Fehler
Wenn Sie ein konkretes Beispiel für einen solchen Fehler sehen möchten, schauen Sie sich diesen Code an:
alarm("Hallo"); [1, 2].forEach(alert);
Über die Bedeutung der Klammern []
und forEach
müssen Sie sich noch keine Gedanken machen. Wir werden sie später studieren. Denken Sie vorerst nur an das Ergebnis der Codeausführung: Es zeigt Hello
, dann 1
, dann 2
.
Entfernen wir nun das Semikolon nach der alert
:
alarm("Hallo") [1, 2].forEach(alert);
Der Unterschied zum obigen Code besteht nur in einem Zeichen: Das Semikolon am Ende der ersten Zeile ist weg.
Wenn wir diesen Code ausführen, wird nur das erste Hello
angezeigt (und es liegt ein Fehler vor. Möglicherweise müssen Sie die Konsole öffnen, um es anzuzeigen). Es gibt keine Zahlen mehr.
Das liegt daran, dass JavaScript kein Semikolon vor eckigen Klammern voraussetzt [...]
. Daher wird der Code im letzten Beispiel als einzelne Anweisung behandelt.
So sieht es die Engine:
alarm("Hallo")[1, 2].forEach(alert);
Sieht komisch aus, oder? Eine solche Zusammenführung ist in diesem Fall einfach falsch. Wir müssen nach alert
ein Semikolon einfügen, damit der Code ordnungsgemäß funktioniert.
Dies kann auch in anderen Situationen passieren.
Wir empfehlen, zwischen Anweisungen Semikolons einzufügen, auch wenn diese durch Zeilenumbrüche getrennt sind. Diese Regel wird von der Community weitgehend übernommen. Beachten wir es noch einmal: In den meisten Fällen ist es möglich, Semikolons wegzulassen. Aber es ist sicherer – insbesondere für Anfänger – sie zu verwenden.
Mit der Zeit werden Programme immer komplexer. Es ist notwendig, Kommentare hinzuzufügen, die beschreiben, was der Code tut und warum.
Kommentare können an jeder Stelle eines Skripts eingefügt werden. Sie haben keinen Einfluss auf die Ausführung, da die Engine sie einfach ignoriert.
Einzeilige Kommentare beginnen mit zwei Schrägstrichen //
.
Der Rest der Zeile ist ein Kommentar. Es kann eine ganze Zeile einnehmen oder auf eine Anweisung folgen.
Wie hier:
// Dieser Kommentar belegt eine eigene Zeile alarm('Hallo'); alarm('Welt'); // Dieser Kommentar folgt der Anweisung
Mehrzeilige Kommentare beginnen mit einem Schrägstrich und einem Sternchen /*
und enden mit einem Sternchen und einem Schrägstrich */
.
So was:
/* Ein Beispiel mit zwei Nachrichten. Dies ist ein mehrzeiliger Kommentar. */ alarm('Hallo'); alarm('Welt');
Der Inhalt von Kommentaren wird ignoriert. Wenn wir also Code in /* … */
einfügen, wird er nicht ausgeführt.
Manchmal kann es praktisch sein, einen Teil des Codes vorübergehend zu deaktivieren:
/* Den Code auskommentieren alarm('Hallo'); */ alarm('Welt');
Verwenden Sie Hotkeys!
In den meisten Editoren kann eine Codezeile durch Drücken der Tastenkombination Strg + / für einen einzeiligen Kommentar und etwa Strg + Umschalt + / – für mehrzeilige Kommentare auskommentiert werden (wählen Sie einen Codeabschnitt aus und drücken Sie die Tastenkombination). Versuchen Sie es auf dem Mac mit Cmd statt Strg und Option statt Shift .
Verschachtelte Kommentare werden nicht unterstützt!
Es darf kein /*...*/
innerhalb eines anderen /*...*/
stehen.
Ein solcher Code stirbt mit einem Fehler ab:
/* /* verschachtelter Kommentar ?!? */ */ alarm( 'Welt' );
Bitte zögern Sie nicht, Ihren Code zu kommentieren.
Kommentare erhöhen den gesamten Code-Footprint, aber das ist überhaupt kein Problem. Es gibt viele Tools, die Code vor der Veröffentlichung auf einem Produktionsserver minimieren. Sie entfernen Kommentare, sodass sie nicht in den Arbeitsskripten erscheinen. Daher haben Kommentare überhaupt keine negativen Auswirkungen auf die Produktion.
Später im Tutorial wird es ein Kapitel Codequalität geben, in dem auch erklärt wird, wie man bessere Kommentare schreibt.