JavaScript – Das Handbuch für die Praxis. David Flanagan

Читать онлайн.
Название JavaScript – Das Handbuch für die Praxis
Автор произведения David Flanagan
Жанр Математика
Серия
Издательство Математика
Год выпуска 0
isbn 9783960104926



Скачать книгу

wird, gibt es das Histogramm

      // zurück.

      async function histogramFromStdin() {

      process.stdin.setEncoding("utf-8"); // Unicode-Strings lesen, nicht Bytes.

      let histogram = new Histogram();

      for await (let chunk of process.stdin) {

      histogram.add(chunk);

      }

      return histogram;

      }

      // Die folgende letzte Codezeile ist der Hauptteil des Programms.

      // Darin wird aus der Standardeingabe ein Histogrammobjekt erstellt und ausgegeben.

      histogramFromStdin().then(histogram => { console.log(histogram.toString()); });

       1.5Zusammenfassung

      In diesem Buch wird JavaScript von Grund auf erklärt. Deshalb beginnen wir auch mit grundlegenden Dingen wie Kommentaren, Identifiern, Variablen und Datentypen, um dann zu Ausdrücken, Anweisungen, Objekten und Funktionen überzugehen und schließlich hochsprachliche Abstraktionen wie Klassen und Module zu behandeln. Ich nehme das Wort Handbuch im Titel dieses Buchs ernst: In den kommenden Kapiteln wird die Sprache in einer Detailgenauigkeit erklärt, die auf den ersten Blick abschreckend wirken mag. Um JavaScript wahrhaft zu beherrschen, muss man jedoch die Details verstehen, und ich hoffe, dass Sie sich die Zeit nehmen, dieses Buch von vorne bis hinten durchzulesen. Aber das muss natürlich nicht in einem Rutsch geschehen. Wenn Sie das Gefühl haben, sich in einem Abschnitt festgefahren zu haben, springen Sie einfach zum nächsten. Sie können später zu dem entsprechenden Abschnitt zurückkehren und sich den Details widmen, sobald Sie eine grundlegende Kenntnis der Sprache als Ganzes gewonnen haben.

       KAPITEL 2

       Die lexikalische Struktur

      Die lexikalische Struktur einer Programmiersprache ist der Satz elementarer Regeln, der festlegt, wie Programme in dieser Sprache geschrieben werden müssen. Es ist die Syntax der untersten Ebene einer Sprache: Sie legt beispielsweise fest, wie Variablennamen gebildet werden, welche Zeichen Kommentare einleiten oder begrenzen und wie eine Programmanweisung von der nächsten unterschieden bzw. getrennt wird. Dieses kurze Kapitel dokumentiert die lexikalische Struktur von JavaScript. Es behandelt:

       Groß-/Kleinschreibung, Leerzeichen und Zeilenumbrüche

       Kommentare

       Literale

       Identifier und reservierte Wörter

       Unicode

       Optionale Semikola

       2.1Der Text eines JavaScript-Programms

      JavaScript ist eine Sprache, in der zwischen Groß- und Kleinschreibung unterschieden wird. Das bedeutet, dass Schlüsselwörter der Sprache, Variablen, Funktionsnamen und andere Identifier immer mit einer konsistenten Groß-/Kleinschreibung der enthaltenen Buchstaben eingegeben werden müssen. Das Schlüsselwort while muss zum Beispiel mit kleinem »w«, also »while«, eingegeben werden, nicht »While« oder »WHILE«. Dementsprechend wären online, Online, OnLine und ONLINE vier verschiedene Variablennamen.

      Innerhalb von Programmen ignoriert JavaScript Leerzeichen, die zwischen Tokens (den lexikalischen Grundeinheiten) stehen. In den meisten Fällen ignoriert JavaScript auch Zeilenumbrüche (eine Ausnahme wird in 2.6 beschrieben). Da Sie also Leerzeichen und Zeilenumbrüche frei verwenden können, lassen sich Programme sauber und konsistent formatieren und einrücken, sodass der Code leicht lesbar und gut verständlich ist.

      Zusätzlich zum regulären Leerzeichen (\u0020) erkennt JavaScript auch Tabulatoren, verschiedene ASCII-Steuerzeichen sowie unterschiedliche Unicode-Leerzeichen als Whitespace-Zeichen1. Als Zeilenabschlüsse versteht JavaScript Zeilenumbrüche (LF, Line Feed), Wagenrückläufe (CR, Carriage Return) und eine Wagenrücklauf-/Zeilenvorschubsequenz (CRLF: Carriage Return/Line Feed).

       2.2Kommentare

      JavaScript unterstützt zwei Arten von Kommentaren: Als Kommentar betrachtet und von JavaScript ignoriert wird Text, der zwischen der Zeichenfolge // und dem Ende einer Zeile steht, sowie Text, der zwischen den Zeichenfolgen /* und */ steht. Diese zweite Kommentarvariante darf mehrere Zeilen lang sein, aber nicht verschachtelt werden. Alle folgenden Codezeilen sind korrekte JavaScript-Kommentare:

      // Dies ist ein einzeiliger Kommentar.

      /* Das hier ist ebenfalls ein Kommentar. */ // Und hier ein weiterer.

      /*

      * Das ist ein mehrzeiliger Kommentar. Die zusätzlichen *-Zeichen am Anfang jeder

      * Zeile sind nicht zwingend vorgeschrieben, aber sie sehen einfach cool aus –

      * und verbessern die Lesbarkeit.

      */

       2.3Literale

      Ein Literal ist ein Datenwert, der direkt in einem Programm erscheint. Die folgenden Elemente sind jeweils Literale:

      12 // Die Zahl zwölf.

      1.2 // Die Zahl "eins Komma zwei".

      "hello world" // Eine Zeichenfolge.

      'Hi' // Eine weitere Zeichenfolge.

      true // Ein boolescher Wert.

      false // Ein weiterer boolescher Wert.

      null // Abwesenheit eines Objekts.

      Vollständige Informationen zu numerischen Literalen (auch Zahlliterale genannt) und String-Literalen finden Sie in Kapitel 3.

       2.4Identifier und reservierte Wörter

      Ein Identifier – der englische Originalbegriff Identifier wird im Deutschen ebenfalls häufig benutzt – ist schlicht ein Name. In JavaScript werden Identifier verwendet, um Konstanten, Variablen, Eigenschaften, Funktionen und Klassen zu benennen und um Labels für bestimmte Schleifen im JavaScript-Code bereitzustellen. Ein JavaScript-Identifier muss mit einem Buchstaben, einem Unterstrich (_) oder einem Dollarzeichen ($) beginnen. Danach folgende Zeichen können Buchstaben, Ziffern, Unterstriche oder Dollarzeichen sein. (Ziffern sind als erstes Zeichen nicht erlaubt, damit JavaScript auf einfache Weise Identifier und Zahlen unterscheiden kann.)

      i

      my_variable_name

      v13

      _dummy

      $str

      Wie auch in jeder anderen Programmiersprache reserviert JavaScript bestimmte Identifier für den Einsatz durch die Sprache selbst. Diese »reservierten Wörter« dürfen nicht als gewöhnliche Identifier verwendet werden. Sie sind im nächsten Abschnitt aufgeführt.

       2.4.1Reservierte Wörter

      Die folgenden Wörter sind Teil der Sprache JavaScript. Viele davon (wie if, while und for) sind reservierte Schlüsselwörter,