JavaScript
Was ist JavaScript?
JavaScript ist eine dynamisch typisierte Skriptsprache, die primär zur clientseitigen Programmierung von Webanwendungen eingesetzt wird. Sie ermöglicht es, Webseiten interaktiv zu gestalten, Inhalte in Echtzeit zu verändern und auf Benutzeraktionen zu reagieren. Durch seine Integration in alle gängigen Browser bildet JavaScript eine der drei Grundtechnologien des Webs – neben HTML und CSS.
JavaScript unterstützt Event-Handling, DOM-Manipulation, asynchrone Kommunikation (z. B. AJAX, Fetch API) sowie moderne Programmierparadigmen wie funktionale und objektorientierte Programmierung. Darüber hinaus wird JavaScript durch Node.js auch serverseitig verwendet, etwa zur Erstellung von REST-APIs, Microservices oder Echtzeitapplikationen.
Technischer Aufbau & Varianten
-
Clientseitig: Läuft im Browser, z. B. zur DOM-Interaktion, Validierung, UI-Updates
-
Serverseitig: Node.js ermöglicht datenbankgestützte, skalierbare Backend-Anwendungen
-
Asynchrone Programmierung:
-
Promises
-
async/await
-
-
Frameworks & Libraries:
-
React, Angular, Vue (Frontend)
-
Express.js, NestJS (Backend)
-
-
Modulsysteme:
-
ES6-Module (
import/export
) -
CommonJS (
require/module.exports
)
-
Relevanz in der Praxis
JavaScript ist zentraler Bestandteil moderner Webanwendungen:
-
Interaktive Webseiten: Formvalidierung, dynamische Inhalte
-
Single-Page-Applications (SPAs): Durch Virtual DOM und Routing
-
Schnittstellenintegration: REST, GraphQL
-
Automatisierung: Mit Tools wie Puppeteer oder Playwright
-
Security-Aspekte:
-
Schutz vor DOM-basiertem XSS durch sichere DOM-APIs
-
Einsatz von CSP-Headern und Trusted Types
-
CSRF-Schutz durch synchronizer tokens oder SameSite-Cookies
-
Standards & regulatorische Anforderungen
-
ECMAScript-Spezifikation (ECMA-262): Offizieller Sprachstandard
-
OWASP Empfehlungen: XSS, CSRF, Code Injection vermeiden
-
Content Security Policy (CSP): Standard zur Absicherung von JavaScript-Inhalten
-
ISO/IEC 30170: Sprachstandardisierung (nicht JavaScript-spezifisch, aber für Skriptsprachen relevant)
Verwandte Begriffe
-
TypeScript
-
DOM
-
CSP (Content Security Policy)
-
Node.js
-
XSS (Cross-Site Scripting)
Beispiel aus der Praxis
Ein Online-Shop nutzte unsichere innerHTML-Zuweisungen in Verbindung mit dynamisch ausgelesenen URL-Parametern. Dadurch konnte ein Angreifer DOM-based XSS einschleusen, um Sessiondaten zu exfiltrieren. Nach Analyse wurde auf sichere Methoden wie
textContent
umgestellt und eine CSP-Richtlinie eingeführt.