JavaScript

Das umfassende Handbuch. JavaScript lernen und verstehen. Von der ersten Zeile Code zu modernen Web-, Mobile- und KI-Anwendungen

  • Hardcover
  • 1293 Seiten
  • 4. AuflageRheinwerk Computing
  • 206 mm x 246 mm x 70 mm
  • Erscheinungsdatum: 06.11.2025
  • Artikelnummer 978-3-367-10916-6

Hardcover

lieferbar innerhalb von 3-4 Werktagen
Auf den Merkzettel

Meistern Sie JavaScript - von den Grundlagen bis zum professionellen Einsatz! Dieses umfassende Handbuch verbindet einen verständlichen Einstieg mit zahlreichen Praxisbeispielen und erprobten Techniken für die tägliche Entwicklungsarbeit. Philip Ackermann vermittelt Ihnen JavaScript von Grund auf und bietet fortgeschrittenen Nutzern zugleich ein zuverlässiges Nachschlagewerk. Die praxisnahen Beispielanwendungen können Sie direkt übernehmen und für eigene Projekte einsetzen. Steigen Sie ein in das JavaScript-Ökosystem und erstellen Sie leistungsstarke Backend-Anwendungen mit Node.js oder native mobile Apps. Außerdem lernen Sie, die Leistungsfähigkeit von KI in JavaScript zu nutzen - vom lokalen Chatbot bis zur Bilderkennung direkt im Browser. Aus dem Inhalt: - JavaScript von Grund auf lernen - Interaktive Webseiten entwickeln - Daten dynamisch nachladen - Moderne Browser-APIs nutzen - Professionelle Programmierparadigmen - Asynchrone Programmierung verstehen - Serverseitige Anwendungen mit Node.js - Native Mobile-Apps entwickeln - Desktop-Anwendungen mit Electron - Intelligente KI-Anwendungen programmieren - Professioneller Workflow - Umfassendes Nachschlagewerk

Materialien zum Buch ... 23

Vorwort ... 25

1. Grundlagen und Einführung ... 29




1.1 ... Grundlagen der Programmierung ... 29


1.2 ... Einführung in JavaScript ... 45


1.3 ... Zusammenfassung ... 53



2. Erste Schritte ... 55




2.1 ... Einführung in JavaScript und die Webentwicklung ... 55


2.2 ... JavaScript in eine Webseite einbinden ... 63


2.3 ... Eine Ausgabe erzeugen ... 77


2.4 ... Zusammenfassung ... 84



3. Sprachkern ... 85




3.1 ... Werte in Variablen speichern ... 85


3.2 ... Die verschiedenen Datentypen verwenden ... 96


3.3 ... Die verschiedenen Operatoren einsetzen ... 116


3.4 ... Den Ablauf eines Programms steuern ... 137


3.5 ... Wiederverwendbare Codebausteine erstellen ... 176


3.6 ... Auf Fehler reagieren und sie richtig behandeln ... 208


3.7 ... Den Quelltext kommentieren ... 228


3.8 ... Den Code debuggen ... 229


3.9 ... Zusammenfassung ... 239



4. Mit Referenztypen arbeiten ... 243




4.1 ... Unterschied zwischen primitiven Datentypen und Referenztypen ... 243


4.2 ... Zustand und Verhalten in Objekten kapseln ... 251


4.3 ... Mit Arrays arbeiten ... 286


4.4 ... Werte aus Arrays und Objekten extrahieren ... 313


4.5 ... Mit Zeichenketten arbeiten ... 325


4.6 ... Maps verwenden ... 333


4.7 ... Sets verwenden ... 340


4.8 ... Sonstige globale Objekte ... 345


4.9 ... Mit regulären Ausdrücken arbeiten ... 349


4.10 ... Funktionen als Referenztypen ... 370


4.11 ... Zusammenfassung ... 379



5. Webseiten dynamisch verändern ... 381




5.1 ... Aufbau einer Webseite ... 381


5.2 ... Elemente selektieren ... 387


5.3 ... Mit Textknoten arbeiten ... 417


5.4 ... Mit Elementen arbeiten ... 421


5.5 ... Mit Attributen arbeiten ... 431


5.6 ... Zusammenfassung ... 437



6. Ereignisse verarbeiten und auslösen ... 439




6.1 ... Das Konzept der ereignisgesteuerten Programmierung ... 439


6.2 ... Auf Ereignisse reagieren ... 440


6.3 ... Die verschiedenen Typen von Ereignissen ... 457


6.4 ... Den Ereignisfluss verstehen und beeinflussen ... 471


6.5 ... Ereignisse programmatisch auslösen ... 486


6.6 ... Zusammenfassung ... 489



7. Mit Formularen arbeiten ... 491




7.1 ... Auf Formulare und Formularfelder zugreifen ... 492


7.2 ... Formulare programmatisch abschicken und zurücksetzen ... 505


7.3 ... Formulareingaben validieren ... 508


7.4 ... Zusammenfassung ... 519



8. Browser steuern und Browserinformationen auslesen ... 521




8.1 ... Das Browser Object Model ... 521


8.2 ... Auf Fensterinformationen zugreifen ... 523


8.3 ... Auf Navigationsinformationen der aktuellen Webseite zugreifen ... 535


8.4 ... Den Browserverlauf einsehen und verändern ... 538


8.5 ... Browser erkennen und Browserfeatures bestimmen ... 544


8.6 ... Auf Informationen des Bildschirms zugreifen ... 547


8.7 ... Zusammenfassung ... 548



9. Inhalte einer Webseite dynamisch nachladen ... 549




9.1 ... Das Prinzip von Ajax ... 549


9.2 ... Das XML-Format ... 555


9.3 ... Das JSON-Format ... 561


9.4 ... Anfragen per Ajax stellen ... 566


9.5 ... Zusammenfassung ... 593



10. Aufgaben vereinfachen mit jQuery ... 595




10.1 ... Einführung ... 595


10.2 ... Mit dem DOM arbeiten ... 601


10.3 ... Auf Ereignisse reagieren ... 618


10.4 ... Ajax-Anfragen erstellen ... 625


10.5 ... Zusammenfassung ... 633



11. Bilder und Grafiken dynamisch erstellen ... 641




11.1 ... Bilder zeichnen ... 641


11.2 ... Vektorgrafiken einbinden ... 663


11.3 ... Zusammenfassung ... 671



12. Moderne Web-APIs verwenden ... 673




12.1 ... Über JavaScript kommunizieren ... 675


12.2 ... Nutzer wiedererkennen ... 684


12.3 ... Den Browserspeicher nutzen ... 693


12.4 ... Die Browserdatenbank nutzen ... 700


12.5 ... Auf das Dateisystem zugreifen ... 712


12.6 ... Komponenten einer Webseite mit Drag and Drop verschieben ... 721


12.7 ... Aufgaben parallelisieren ... 726


12.8 ... Den Standort von Nutzern ermitteln ... 730


12.9 ... Den Batteriestand eines Endgeräts auslesen ... 733


12.10 ... Sprache ausgeben und Sprache erkennen ... 736


12.11 ... Animationen erstellen ... 741


12.12 ... Mit der Kommandozeile arbeiten ... 745


12.13 ... Mehrsprachige Anwendungen entwickeln ... 754


12.14 ... Übersicht über verschiedene Web-APIs ... 767


12.15 ... Zusammenfassung ... 771



13. Objektorientierte Programmierung ... 773




13.1 ... Die Prinzipien der objektorientierten Programmierung ... 773


13.2 ... Prototypische Objektorientierung ... 780


13.3 ... Pseudoklassische Objektorientierung ... 787


13.4 ... Objektorientierung mit Klassensyntax ... 794


13.5 ... Zusammenfassung ... 815



14. Funktionale Programmierung ... 817




14.1 ... Prinzipien der funktionalen Programmierung ... 817


14.2 ... Imperative Programmierung und funktionale Programmierung ... 819


14.3 ... Zusammenfassung ... 829



15. Den Quelltext richtig strukturieren ... 831




15.1 ... Namenskonflikte vermeiden ... 831


15.2 ... Module definieren und verwenden ... 835


15.3 ... Zusammenfassung ... 850



16. Asynchrone Programmierung und weitere fortgeschrittene Features verwenden ... 853




16.1 ... Asynchrone Programmierung verstehen und anwenden ... 853


16.2 ... Das Iterieren über Datenstrukturen kapseln ... 871


16.3 ... Funktionen anhalten und fortsetzen ... 876


16.4 ... Den Zugriff auf Objekte abfangen ... 879


16.5 ... Zusammenfassung ... 885



17. Serverseitige Anwendungen mit Node.js erstellen ... 887




17.1 ... Einführung Node.js ... 887


17.2 ... Node.js-Packages verwalten ... 891


17.3 ... Ereignisse verarbeiten und auslösen ... 898


17.4 ... Auf das Dateisystem zugreifen ... 903


17.5 ... Einen Webserver erstellen ... 908


17.6 ... Auf Datenbanken zugreifen ... 916


17.7 ... Mit Streams arbeiten ... 924


17.8 ... Zusammenfassung ... 933



18. Mobile Anwendungen mit JavaScript erstellen ... 935




18.1 ... Die unterschiedlichen Arten mobiler Anwendungen ... 935


18.2 ... Mobile Anwendungen mit React Native erstellen ... 941


18.3 ... Zusammenfassung ... 956



19. KI-Anwendungen mit JavaScript ... 959




19.1 ... Grundlagen und Konzepte ... 960


19.2 ... Arbeiten mit LLMs auf dem Server ... 965


19.3 ... Praktische Anwendung von LLMs ... 977


19.4 ... LangChain -- Ein Architekturframework für KI-Applikationen ... 991


19.5 ... Zusammenfassung ... 999



20. Einen professionellen Entwicklungsprozess aufsetzen ... 1001




20.1 ... Den Workflow automatisieren ... 1001


20.2 ... Versionsverwaltung des Quelltexts ... 1024


20.3 ... Zusammenfassung ... 1042



Anhang ... 1043




A ... JavaScript-Referenz ... 1045


B ... DOM-Referenz und HTML-Erweiterungen ... 1103


C ... BOM und Ajax ... 1193


D ... HTML5-Web-APIs-Referenz ... 1231



Index ... 1281

Philip Ackermann
Philip Ackermann ist CTO der Cedalo AG und Autor mehrerer Fachbücher und Fachartikel über Java und JavaScript. Seine Schwerpunkte liegen in der Konzeption und Entwicklung von Node.js- und JEE-Projekten in den Bereichen Industrie 4.0 und Internet of Things.