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

deklarieren

       13.8.2Der Instanztyp einer Klasse

       13.8.3Der statische Typ einer Klasse

       13.9Strukturelle Typisierung

       13.10Schnittstellen

       13.11Indizierte Eigenschaften

       13.12Komplexe Funktionsparameter

       13.12.1Optionale, Standard- und Restparameter

       13.12.2Parameter destrukturieren

       13.12.3Untertypbeziehungen von Funktionstypen

       13.12.4Überladung

       13.13Generische Programmierung

       13.13.1Generische Klassen und Typen

       13.13.2Generische Funktionen

       13.13.3Typeinschränkungen

       13.13.4Löschung

       13.13.5Untertypbeziehungen von generischen Typen

       13.13.6Bedingte Typen

       13.13.7Zugeordnete Typen

       13.14Übungen

       Stichwortverzeichnis

       Für Chi, die geduldigste Person in meinem Leben

       Vorwort

      Erfahrene Programmierer, die mit Sprachen wie Java, C# oder C++ vertraut sind, finden sich oft in Situationen wieder, in denen sie mit JavaScript arbeiten müssen. Das liegt daran, dass es immer mehr webgestützte Benutzerschnittstellen gibt und JavaScript nun einmal die Lingua franca der Browser ist. Das Electron-Framework hat die Anwendung dieser Sprache auf Rich-Client-Anwendungen ausgedehnt, und es gibt verschiedene Möglichkeiten, um JavaScript-Apps für Mobilgeräte zu erstellen. Auch serverseitig wird JavaScript immer häufiger eingesetzt.

      Vor vielen Jahren galt JavaScript als eine Sprache zur Programmierung im Kleinen. Ihre Features konnten für umfangreiche Programme ziemlich verwirrend und fehleranfällig sein. Mit den heutigen Standardisierungsbemühungen und dem Angebot an Werkzeugen hat die Sprache sich jedoch weit über diese bescheidenen Anfänge hinaus entwickelt.

      Leider ist es schwierig, modernes JavaScript zu lernen, ohne mit veraltetem JavaScript überschüttet zu werden. In den meisten Büchern, Kursen und Blogposts geht es um den Übergang von älteren JavaScript-Versionen, was für Personen nicht hilfreich ist, die von anderen Sprachen kommen.

      Das ist die Lücke, die ich mit diesem Buch füllen möchte. Ich gehe davon aus, dass Sie bereits ein kompetenter Programmierer sind und sich mit Verzweigungen und Schleifen, Funktionen, Datenstrukturen und den Grundlagen der objektorientierten Programmierung auskennen. Ich erkläre Ihnen, wie Sie in modernem JavaScript produktiv arbeiten können, und erwähne veraltete Merkmale nur am Rande. Sie lernen hier, wie Sie modernes JavaScript nutzen, ohne über die Fallstricke der Vergangenheit zu stolpern.

      JavaScript ist nicht perfekt, aber es hat sich für die Programmierung von Benutzerschnittstellen und für viele serverseitige Aufgaben als gut geeignet erwiesen. Wie Jeff Atwood es einmal vorausschauend formulierte: »Jede Anwendung, die in JavaScript geschrieben werden kann, wird irgendwann auch in JavaScript geschrieben.«

      Arbeiten Sie dieses Buch durch, um zu lernen, wie Sie die nächste Version Ihrer Anwendung in modernem JavaScript schreiben können.

       Fünf goldene Regeln

      Wenn Sie auf einige wenige klassische Features von JavaScript verzichten, können Sie das Maß an geistiger Anstrengung erheblich verringern, um die Sprache zu erlernen und anzuwenden. Die folgenden Regeln werden Ihnen jetzt zwar noch nicht viel sagen, aber ich führe Sie hier trotzdem zum späteren Nachschlagen auf – auch um Ihnen zu zeigen, wie beruhigend wenige es sind:

      1 Deklarieren Sie Variablen mit let oder const, nicht mit var.

      2 Verwenden Sie den strikten Modus.

      3 Seien Sie sich immer über die Typen im Klaren und vermeiden Sie die automatische Typkonvertierung.

      4 Machen Sie sich damit vertraut, wie Prototypen funktionieren, aber verwenden Sie für Klassen, Konstruktoren und Methoden die moderne Syntax.

      5 Verwenden Sie this nicht außerhalb von Konstruktoren und Methoden.

      Darüber hinaus gibt es noch eine Metaregel: Schauen Sie sich keinen Wat-Code an, also diese verwirrenden Ausschnitte aus JavaScript-Code, die mit einem sarkastischen (und orthografisch nicht korrekten) »Wat?!« kommentiert sind. Manche Leute haben Spaß daran zu zeigen, wie furchtbar JavaScript angeblich ist, indem sie obskuren Code analysieren. Aus solchen Übungen habe ich jedoch nie etwas Sinnvolles mitgenommen. Welchen Vorteil bietet es Ihnen etwa zu wissen, dass 2 * ['21'] den Wert 42 ergibt, 2 + ['40'] aber nicht, wenn Ihnen die goldene Regel Nr. 3 klipp und klar sagt, dass Sie nicht mit Typkonvertierungen herumdoktern sollten? Wenn ich in eine solche verwirrende Situation gerate, frage ich mich normalerweise, wie ich sie vermeiden kann, anstatt sie in allen unnützen Einzelheiten zu erklären.

       Lernstoff von unterschiedlichem Niveau

      Den Lernstoff in diesem Buch habe ich so angeordnet, dass Sie die benötigten Informationen leicht wiederfinden können, wenn Sie sie brauchen. Das ist allerdings nicht unbedingt die richtige Anordnung, wenn Sie das Buch zum ersten Mal lesen. Um Ihnen das Lernen zu erleichtern, habe ich jedes Kapitel mit einem Symbol für das Niveau des behandelten Stoffs versehen. Einzelne Abschnitte, die auf einem höheren Niveau angesiedelt sind, bekommen dabei ihre eigenen Symbole. Lassen Sie diese Abschnitte bei der ersten Lektüre aus und lesen Sie sie erst dann, wenn Sie dazu bereit sind.

      Zur Kennzeichnung habe ich die folgenden Symbole verwendet:

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


Der ungeduldige Hase steht für ein grundlegendes Thema, das selbst die ungeduldigsten Leser nicht überspringen sollten.