Einleitung
Dieses Seminar vermittelt die grundlegenden Konzepte der clientseitigen Webprogrammierung mit JavaScript. Teilnehmer erlernen die Syntax, die Manipulation des Document Object Models (DOM), das Ereignis-Handling (Event Handling) sowie die asynchrone Programmierung. Ziel ist die Entwicklung interaktiver und dynamischer Web-Frontends.
Zielgruppe / Voraussetzung
- Zielgruppe: Webentwickler, Frontend-Designer und Quereinsteiger in die Webprogrammierung.
- Voraussetzung: Grundlegende Kenntnisse in HTML und CSS. Programmier-Vorerfahrungen sind hilfreich, aber nicht zwingend erforderlich.
Detaillierte Inhalte
Einführung und Entwicklungsumgebung
- Historie und Rolle von JavaScript im Web-Stack (ECMAScript-Standards)
- Einbindung von JavaScript in HTML (
<script>-Tag, externe Dateien) - Nutzung der Browser-Entwicklertools (Console, Debugger, Network-Tab)
- Der Strict Mode (
"use strict") zur Fehlervermeidung - Ausgabe von Daten (
console.log,alert,prompt)
Variablen, Datentypen und Operatoren
- Deklaration von Variablen:
letundconst(Abgrenzung zuvar) - Primitive Datentypen:
String,Number,Boolean,Null,Undefined,Symbol - Dynamische Typisierung und Typumwandlung (Type Coercion vs. Explicit Casting)
- Template Literals (Template Strings) für komplexe Zeichenketten
- Operatoren: Arithmetisch, Zuweisung, Vergleich (
==vs.===), Logisch
Kontrollstrukturen und Ablaufsteuerung
- Bedingte Anweisungen:
if,else if,else - Mehrfachverzweigungen mit
switch - Ternärer Operator (
? :) - Schleifenkonstrukte:
for,while,do-while - Schleifensteuerung (
break,continue)
Funktionen und Scope
- Deklaration und Aufruf von Funktionen
- Funktionsausdrücke (Function Expressions) und anonyme Funktionen
- Arrow Functions (Pfeilfunktionen): Syntax und Besonderheiten
- Parameter, Argumente und Default-Parameterwerte
- Gültigkeitsbereiche (Scope): Block Scope, Function Scope und Lexical Scope
- Grundlagen von Closures
Datenstrukturen: Arrays und Objekte
- Arrays:
- Deklaration und Zugriff auf Elemente
- Iteration (
for...of,forEach) - Wichtige Array-Methoden:
push,pop,shift,unshift,splice,slice - Funktionale Array-Methoden:
map,filter,reduce,find - Objekte:
- Object Literals: Eigenschaften (Properties) und Methoden
- Zugriff über Punkt- und Klammernotation
- Iteration über Objekte (
for...in,Object.keys,Object.values) - Einführung in das JSON-Datenformat (JavaScript Object Notation)
Document Object Model (DOM) Manipulation
- Aufbau und Struktur des DOM-Baums
- Selektieren von Elementen:
getElementById,querySelector,querySelectorAll - Navigation im DOM: Eltern-, Kind- und Geschwisterknoten
- Manipulation von Elementen:
innerHTML,textContent,createElement,appendChild - Ändern von HTML-Attributen und CSS-Klassen (
classList)
Event-Handling (Ereignissteuerung)
- Funktionsweise von events in JavaScript
- Registrierung von Event-Listenern (
addEventListener) - Wichtige Event-Typen: Maus-Events, Tastatur-Events, Formular-Events
- Das Event-Objekt auswerten (
e.target,e.preventDefault()) - Event Bubbling und Event Capturing (Einführung in Event Delegation)
Asynchrone Programmierung (Grundlagen)
- Das asynchrone Modell von JavaScript (Event Loop)
- Timer-Funktionen:
setTimeoutundsetInterval - Einführung in Promises:
resolve,reject,.then(),.catch() - Moderne asynchrone Syntax:
asyncundawait - HTTP-Anfragen mit der Fetch API durchführen (REST-APIs konsumieren)
Fehlerbehandlung und Debugging
- Syntax- und Laufzeitfehler identifizieren
- Exception Handling:
try,catch,finally - Eigene Fehler werfen (
throw new Error()) - Breakpoints und schrittweises Debugging in den Browser-DevTools
Dauer 3 Tage