Book description
Um JavaScript wirklich zu beherrschen, müssen Sie lernen, die flexiblen und ausdrucksstarken Besonderheiten der Sprache effektiv zu nutzen und dabei Fallstricke zu vermeiden. Ganz gleich wie lange Sie schon JavaScript-Code schreiben -- dieses Buch wird Ihnen helfen, Ihr Verständnis von JavaScript zu vertiefen, so dass Sie zuverlässigere und besser wartbare Programme erstellen können.Der Autor David Herman, der über jahrelange Erfahrung im JavaScript-Standardisierungskomitee Ecma verfügt, beleuchtet die inneren Funktionen der Sprache wie niemals zuvor und hilft Ihnen dabei, die Vorzüge der Sprache voll zu nutzen. Dieses Buch spiegelt den neuesten JavaScript-Standard wieder und bietet Ihnen bewährte Techniken und Ansätze, auf die Sie sich in den kommenden Jahren stützen können.Effecive JavaScript ist um 68 Ansätze für besseren JavaScript-Code herum aufgebaut, jeweils anhand konkreter Beispiele.
Table of contents
- Inhaltsverzeichnis
- Geleitwort
- Vorwort
- JavaScript und ECMAScript
- JavaScript im Web
- Ein Hinweis zur Nebenläufigkeit
- Danksagung
- 1 Darf ich vorstellen: JavaScript
- Thema 1 Welche Version von JavaScript verwenden Sie?
- Thema 2 Fließkommazahlen in JavaScript sind anders
- Thema 3 Vorsicht bei der impliziten Typumwandlung
- Thema 4 Verwenden Sie primitive Datentypen statt Objektwrappern
- Thema 5 Vergleichen Sie unterschiedliche Typen nie mit ==
- Thema 6 Achtung: JavaScript ergänzt automatisch Semikolons
- Thema 7 JavaScript nutzt 16-Bit-Unicode
- 2 Gültigkeitsbereich von Variablen
- Thema 8 Verwenden Sie das globale Objekt so wenig wie möglich
- Thema 9 Vergessen Sie nicht, lokale Variablen zu deklarieren
- Thema 10 Vermeiden Sie das Schlüsselwort with
- Thema 11 Keine Angst vor Closures
- Thema 12 Das müssen Sie kennen: Hoisting
- Thema 13 Schaffen Sie lokale Gültigkeitsbereiche durch IIFEs
- Thema 14 Gültigkeit von benannten Funktionsausdrücken
- Thema 15 Verlässliche Gültigkeitsbereiche von lokalen Funktionsdeklarationen
- Thema 16 Vermeiden Sie es, Variablen mit eval zu erstellen
- Thema 17 Verwenden Sie eval lieber indirekt
- 3 Funktionen
- Thema 18 Die Unterschiede zwischen Funktionen, Methoden und Konstruktoren
- Thema 19 Keine Angst vor Funktionen höherer Ordnung
- Thema 20 Rufen Sie Methoden mit benutzerdefiniertem Empfänger mit call auf
- Thema 21 Rufen Sie variadische Funktionen mit apply auf
- Thema 22 Erstellen Sie variadische Funktionen mit arguments
- Thema 23 Ändern Sie niemals das arguments-Objekt
- Thema 24 Speichern Sie Verweise auf arguments in einer Variable
- Thema 25 Extrahieren Sie Methoden mit festem Empfänger per bind
- Thema 26 Nutzen Sie bind beim Currying
- Thema 27 Kapseln Sie Code mit Closures, nicht mit Strings
- Thema 28 Verlassen Sie sich nicht auf die toString-Methode
- Thema 29 Vorsicht, wenn Sie den Call Stack inspizieren!
- 4 Objekte und Prototypen
- Thema 30 Achten Sie auf den Unterschied zwischen prototype, getPrototypeOf und __proto__
- Thema 31 Verwenden Sie lieber Object.getPrototypeOf statt __proto__
- Thema 32 Ändern Sie niemals __proto__!
- Thema 33 Erstellen Sie Konstruktoren, die auch ohne new funktionieren
- Thema 34 Speichern Sie Methoden mithilfe von Prototypen
- Thema 35 Speichern Sie private Daten mithilfe von Closures
- Thema 36 Speichern Sie den Instanzstatus nur in Instanzobjekten
- Thema 37 this sollten Sie kennen!
- Thema 38 Rufen Sie Superklassenkonstruktoren von Subklassenkonstruktoren aus auf
- Thema 39 Eigenschaftsnamen aus der Superklasse sollten Sie niemals wiederverwenden!
- Thema 40 Vermeiden Sie die Vererbung von Standardklassen
- Thema 41 Prototypen sind »richtige« Implementierungen
- Thema 42 Das brauchen Sie nicht: Unbesonnenes Monkey-Patching
- 5 Arrays und Dictionaries
- Thema 43 Erstellen Sie schlanke Dictionaries mit Object
- Thema 44 Schützen Sie sich mithilfe von Null-Prototypen vor einer Prototyp-Verunreinigung
- Thema 45 Schützen Sie sich mit hasOwnProperty vor Prototyp-Verunreinigungen
- Thema 46 Verwenden Sie für geordnete Collections lieber Arrays statt Dictionaries
- Thema 47 Fügen Sie niemals aufzählbare Eigenschaften zu Object.prototype hinzu!
- Thema 48 Ändern Sie Objekte nicht während einer Aufzählung
- Thema 49 Verwenden Sie for-Schleifen statt for...in-Schleifen, wenn Sie über Arrays iterieren
- Thema 50 Verwenden Sie lieber Iterationsmethoden als Schleifen
- Thema 51 Generische Arraymethoden für arrayähnliche Objekte wiederverwenden
- Thema 52 Verwenden Sie lieber Arrayliterale statt des Arraykonstruktors
- 6 Erstellung von Bibliotheken und APIs
- Thema 53 Bemühen Sie sich um eine einheitliche Schreibweise
- Thema 54 Behandeln Sie »undefined« als »nicht vorhanden«
- Thema 55 Zu viele Parameter? Nutzen Sie Optionsobjekte!
- Thema 56 Vermeiden Sie unnötige Zustände
- Thema 57 Verwenden Sie strukturelle Typisierung für flexible Schnittstellen
- Thema 58 Unterscheiden Sie Arrays und arrayähnliche Objekte
- Thema 59 Vermeiden Sie übermäßige Typumwandlung
- Thema 60 Unterstützen Sie Method Chaining
- 7 Nebenläufigkeit
- Thema 61 Blockieren Sie die Event Queue nicht, wenn I/O stattfindet
- Thema 62 Verwenden Sie verschachtelte oder benannte Callbacks für die asynchrone Abarbeitung
- Thema 63 Denken Sie an die Fehlerbehandlung!
- Thema 64 Nutzen Sie Rekursion für asynchrone Schleifen
- Thema 65 Blockieren Sie die Event Queue bei längeren Berechnungen nicht
- Thema 66 Steuern Sie nebenläufige Operationen mit einem Zähler
- Thema 67 Rufen Sie asynchrone Callbacks niemals synchron auf!
- Thema 68 Verwenden Sie Promises für eine sauberere asynchrone Logik
- Index
Product information
- Title: JavaScript effektiv
- Author(s):
- Release date: December 2013
- Publisher(s): dpunkt
- ISBN: 9781492012306
You might also like
book
JavaScript objektorientiert
Obwohl »Objektorientiertung« wahrscheinlich nicht das erste ist, das Programmierern einfällt, wenn sie an JavaScript denken.Tatsächlich aber …
book
JavaScript für Ungeduldige
JavaScript ist das Herzstück fast jeder modernen Webanwendung, von Social Media Apps wie Twitter bis hin …
book
Einführung in Node.JS
Starten Sie mit Node.js durch – der beliebtesten Entwicklungsumgebung für serverseitiges JavaScript. Mit dieser Einführung lernen …
book
Pure JavaScript
Pure JavaScript is a substantial and focused reference for experienced Web developers. This book begins with …