Du kennst JS noch nicht: Erste Schritte
Du kennst JS noch nicht: Erste Schritte
Zusammenfassung:
Einleitung
Das Buch „You Don't Know JS Yet: Get Started“ eröffnet die gleichnamige Serie von Kyle Simpson, einem anerkannten JavaScript-Experten. Es ist kein weiteres Nachschlagewerk zur Syntax und keine Rezeptsammlung. Es ist ein tiefgründiges, philosophisches und dennoch praktisches Werk, das Ihr Verständnis der Sprache neu ausrichten soll. Simpson stellt das oberflächliche Wissen über JS in Frage, das selbst bei erfahrenen Entwicklern häufig anzutreffen ist, und schlägt vor, den Weg von den Grundlagen bis zu den Feinheiten der Engine neu zu gehen.
Worum geht es in diesem Buch?
„Get Started“ ist die erste Stufe zur vollständigen Beherrschung von JavaScript. Der Autor versucht nicht, das Unermessliche zu umfassen, sondern legt ein solides Fundament. Das Buch besteht aus mehreren Schlüsselabschnitten:
- Was ist JavaScript? — Es wird analysiert, was die Sprache eigentlich ausmacht, wie sie sich entwickelt hat und warum es wichtig ist, ihre Spezifikation (ECMAScript) zu verstehen.
- Überblick über die Sprache: Ein schnelles, aber sinnvolles Eintauchen in die grundlegenden Bausteine: Typen, Werte, Variablen, Funktionen, Sichtbarkeitsbereiche, Closures, Prototypen und Asynchronität.
- Wie funktioniert JS? — Erklärung der internen Mechanismen: Kompilierung, Interpretation, Ausführungsphasen, Hoisting, TDZ (Temporal Dead Zone).
- Polyfills und Transpilation: Praktische Tipps zur Nutzung moderner Funktionen in älteren Umgebungen.
Für wen ist dieses Buch?
Das Buch richtet sich an ein breites Publikum:
- Anfänger, die bereits etwas mit JS vertraut sind, es aber tiefer verstehen möchten, anstatt nur Code zu kopieren.
- Erfahrene Entwickler, die JavaScript seit Jahren verwenden, aber Lücken in ihren grundlegenden Kenntnissen spüren.
- Entwickler anderer Sprachen (Python, Java, C#), die zu JavaScript wechseln und typische Fallstricke vermeiden möchten.
Was lernt der Leser?
Nach der Lektüre werden Sie in der Lage sein:
- Den Unterschied zwischen Sichtbarkeitsbereich (scope) und Ausführungskontext (execution context) zu erklären.
- Zu verstehen, wie Closures auf Engine-Ebene funktionieren, anstatt nur die Definition auswendig zu lernen.
- Zu begreifen, was prototypische Vererbung ist und wie sie sich von der klassischen unterscheidet.
- Sich mit Asynchronität (Callbacks, Promises, async/await) vertraut zu machen und zu verstehen, wie die Ereignisschleife (event loop) die Codeausführung steuert.
- Den strengen Modus (strict mode) sicher anzuwenden und zu erklären, warum er wichtig ist.
- Polyfills von Transpilern zu unterscheiden und zu wissen, wann was anzuwenden ist.
Stärken
- Tiefe statt Breite. Der Autor jagt nicht der Seitenzahl hinterher, sondern kaut jedes Konzept gründlich durch. Dies ist kein „JavaScript in 24 Stunden“, sondern ein Lehrbuch für die Zukunft.
- Provokativer Ansatz. Der Titel der Serie ist kein Zufall – Simpson betont ständig, dass die meisten Entwickler JS nur oberflächlich kennen. Das motiviert, tiefer zu graben.
- Praktische Beispiele. Jede Theorie wird durch kleine, aber aussagekräftige Codefragmente untermauert, die sofort in Node.js oder einem Browser ausgeführt werden können.
- Aktualität. Das Buch wurde 2020 geschrieben und deckt den modernen Standard ES2020+ ab, einschließlich BigInt, globalThis, Promise.allSettled und anderer Neuerungen.
- Struktur. Logischer Aufbau: vom Allgemeinen zum Speziellen, vom „Was“ zum „Wie“ und „Warum“. Jedes Kapitel endet mit einer Zusammenfassung und Fragen zur Selbstkontrolle.
Wem wird es empfohlen?
Das Buch ist für alle nützlich, die in JavaScript schreiben und dies bewusst tun möchten. Besonders empfehle ich es:
- Junior-Entwicklern, die bereits ein grundlegendes Tutorial absolviert haben und auf die nächste Stufe gelangen möchten.
- Middle/Sen
Empfehlungen
Sicherheit von Java-Anwendungen: Von Schwachstellen zum Schutz
Funktionale Programmierung in PHP: Von den Grundlagen bis zu fortgeschrittenen Techniken
Maschinelles Lernen und Go: Ein praktischer Leitfaden für Entwickler
Saubere Architekturen in Python
Go Programming Language Phrasebook
Android Apprentice