JavaScript – die Sprache des Webs
JavaScript ist die Programmiersprache, die im Browser läuft. Immer wenn eine Seite auf einen Klick reagiert, ein Formular validiert, ein Menü animiert oder neue Inhalte nachlädt, ohne neu zu laden – dann steckt JavaScript dahinter. Jeder Browser auf jedem Gerät bringt von Haus aus eine JavaScript-Engine mit, und genau deshalb ist JavaScript die einzige Sprache, die nativ im Web läuft.
Mittlerweile läuft JavaScript aber längst nicht mehr nur im Browser. Mit Node.js, Deno und Bun schreibst du damit Server, Kommandozeilen-Tools, Build-Skripte und APIs. Dass dieselbe Sprache sowohl im Frontend als auch im Backend zu Hause ist, erklärt einen großen Teil ihrer Beliebtheit.
Ein kleiner Vorgeschmack auf JavaScript-Code:
Drei Zeilen, drei Ideen: eine Variable deklarieren, eine eingebaute Funktion aufrufen und einen Template-String ausgeben. Diese drei Bausteine begegnen dir auf jeder Seite echten JavaScript-Codes.
Wo JavaScript ausgeführt wird
JavaScript an sich ist erstmal nur eine Sprachspezifikation – der sogenannte ECMAScript-Standard. Damit dein Code tatsächlich läuft, brauchst du eine Engine: ein Programm, das den Code einliest und ausführt. Zwei davon wirst du ständig antreffen:
- Browser. Chrome und Edge setzen auf V8, Firefox nutzt SpiderMonkey, Safari läuft mit JavaScriptCore. Öffne eine beliebige Seite, drück F12, füg JavaScript im Console-Tab ein – und es läuft sofort.
- Node.js. Nimmt die V8-Engine aus dem Browser heraus und gibt ihr Zugriff auf Dateisystem, Netzwerk und Betriebssystem. Genau deshalb ist serverseitiges JavaScript überhaupt möglich.
// In einer Browser-Konsole ausführen:
document.title = "Neuer Tab-Titel";
// Mit Node.js ausführen:
// $ node script.js
Browser-JavaScript kann auf die Seite zugreifen (das DOM), aber nicht auf dein Dateisystem. Node.js-JavaScript kann Dateien lesen und Sockets öffnen, hat aber keine Seite zum Manipulieren. Dieselbe Sprache, unterschiedliche Superkräfte.
Wofür wird JavaScript verwendet?
Die kurze Antwort: für so ziemlich alles, was mit dem Web zu tun hat. Die längere Antwort, grob in der Reihenfolge, in der du diesen Dingen begegnen wirst:
- Interaktive Webseiten. Formularvalidierung, Dropdowns, Modale, Live-Suche, Drag-and-Drop.
- Single-Page-Apps. Gmail, Figma, Notion, Linear — komplette Anwendungen, die von JavaScript gerendert und aktualisiert werden, meist mithilfe eines Frameworks wie React, Vue oder Svelte.
- Backend-Server. REST-APIs, GraphQL-Endpunkte und Echtzeitdienste, gebaut mit Node.js, Express, Fastify oder NestJS.
- Build- und Dev-Tools. Bundler (Vite, esbuild, webpack), Linter (ESLint), Test-Runner (Vitest, Jest).
- Cross-Platform-Apps. Desktop-Anwendungen über Electron (VS Code, Slack, Discord) und mobile Apps über React Native.
Du musst das alles nicht am ersten Tag draufhaben. Aber es hilft zu wissen, dass es existiert — damit der Satz „nur JavaScript" nicht nach einer Einschränkung klingt.
Wie JavaScript tatsächlich ausgeführt wird
Ein stark vereinfachtes mentales Modell: Du schreibst Quellcode, die Engine parst ihn in eine interne Darstellung und führt ihn dann aus. Moderne Engines setzen auf JIT-Kompilierung (just-in-time) — sie starten schnell als Interpreter und optimieren heiße Codepfade zur Laufzeit in Maschinencode.
JavaScript wird nicht vorab zu einem Binary kompiliert, bevor du es ausrollst. Du übergibst den Quellcode einfach dem Browser (oder Node), und die Engine kümmert sich um den Rest:
Füge das in die Browser-Konsole ein oder speichere es als greet.js und führe node greet.js aus — das Ergebnis ist identisch. Kein Compile-Schritt, keine Build-Konfiguration, nichts zu installieren für so simplen Code.
Java vs. JavaScript: der Unterschied
Die Namen klingen ähnlich, die Sprachen sind es nicht. JavaScript bekam seinen Namen 1995, um von der damaligen Popularität von Java zu profitieren — eine Marketing-Entscheidung, die Einsteiger bis heute verwirrt.
| JavaScript | Java | |
|---|---|---|
| Typisierung | dynamisch | statisch |
| Läuft in | Browser, Node.js | JVM |
| Paradigma | Multi-Paradigma, prototypbasiert | klassenbasierte OOP |
| Kompilierung | JIT, kein Build-Schritt nötig | erst zu Bytecode kompilieren |
Wenn dir jemand sagt „Ich kann Java, also kann ich auch JavaScript" — nein, kann er nicht. Behandle die beiden als komplett getrennte Sprachen, die zufällig vier Buchstaben gemeinsam haben.
TypeScript vs. JavaScript
TypeScript ist JavaScript mit einem aufgesetzten Typsystem. Du schreibst Code mit Typ-Annotationen, der TypeScript-Compiler prüft sie, und heraus kommt ganz normales JavaScript, das überall läuft, wo JavaScript läuft.
// JavaScript — Typen sind implizit:
function add(a, b) {
return a + b;
}
// TypeScript — Typen sind explizit:
function add(a: number, b: number): number {
return a + b;
}
Jede gültige JavaScript-Datei ist gleichzeitig eine gültige TypeScript-Datei – TypeScript ist also kein Konkurrent, sondern eine Obermenge (Superset). Die meisten großen Codebasen setzen heute auf TypeScript, aber es ergibt Sinn, zuerst JavaScript zu lernen. Ohne zu wissen, worauf TypeScript seine Typen aufsetzt, versteht man nicht, was es eigentlich tut.
Ein kurzer Blick in die Geschichte – damit die Eigenheiten Sinn ergeben
JavaScript wurde 1995 in zehn Tagen von Brendan Eich bei Netscape zusammengeschrieben. Diese Entstehungsgeschichte ist wichtig, denn einige der rauen Kanten der Sprache (lose Gleichheit, automatische Semikolon-Einfügung, typeof null === "object") stammen aus Entscheidungen, die unter extremem Zeitdruck getroffen und dann einbetoniert wurden, um das Web abwärtskompatibel zu halten.
Standardisiert wird die Sprache als ECMAScript, und jedes Jahr erscheint eine neue Version (ES2015 war der große Wurf – let, const, Arrow Functions, Klassen, Module). Wenn jemand von „ES6" oder „modernem JavaScript" spricht, meint er im Grunde alles ab 2015, was heute überall unterstützt wird.
Modernes JavaScript lässt sich wirklich angenehm schreiben. Die alten Teile sind zwar noch da, aber mit ein paar guten Gewohnheiten – die wir im Laufe des Kurses aufbauen – kommst du gut um sie herum.
Was du mitnimmst
- JavaScript läuft in jedem Browser und über Node.js auch auf Servern.
- Es wird für fast alles eingesetzt, was mit dem Web zu tun hat – UI, Backend, Tooling, sogar Desktop- und Mobile-Apps.
- Es ist nicht Java. TypeScript ist eine Obermenge, die statische Typen hinzufügt.
- Die Sprache hat ein paar historische Macken; schreiben wirst du ohnehin modernes JavaScript (ES2015+).
Als Nächstes: JavaScript ausführen
Genug Theorie – jetzt wird Code ausgeführt. Im nächsten Kapitel schauen wir uns die drei Orte an, an denen du als Einsteiger JavaScript laufen lässt: die Browser-Konsole, eine HTML-Datei und Node.js auf der Kommandozeile.
Häufig gestellte Fragen
Was ist JavaScript in einfachen Worten?
JavaScript ist eine Programmiersprache, die im Browser und auf Servern (über Node.js) läuft. Sie sorgt dafür, dass Webseiten interaktiv werden – also auf Klicks reagieren, sich ohne Reload aktualisieren oder Daten von APIs nachladen. Und: Es ist die einzige Sprache, die nativ in jedem Browser läuft.
Wofür wird JavaScript verwendet?
Eigentlich für fast alles im Web: von kleinen UI-Spielereien (Dropdowns, Formularprüfung) über komplette Web-Apps (Gmail, Figma, Notion) bis hin zu Backend-Servern (Node.js, Deno), Mobile Apps (React Native), Desktop-Programmen (VS Code basiert auf Electron) und Build-Tools. Wenn etwas im Browser läuft oder mit dem Web spricht, ist meistens JavaScript im Spiel.
Ist JavaScript dasselbe wie Java?
Nein – trotz des ähnlichen Namens haben die beiden Sprachen nichts miteinander zu tun. Der Name war damals reines Marketing. Java ist statisch typisiert, klassenbasiert und läuft auf der JVM. JavaScript ist dynamisch typisiert, läuft im Browser bzw. in Node und ist ganz anders aufgebaut. Gemeinsam haben sie eigentlich nur die ersten vier Buchstaben.
Was ist der Unterschied zwischen JavaScript und TypeScript?
TypeScript ist im Grunde JavaScript mit einem Typsystem obendrauf. Du schreibst deinen Code mit Typannotationen, ein Compiler prüft sie und heraus kommt am Ende wieder normales JavaScript. Jede gültige JavaScript-Datei ist übrigens auch gültiges TypeScript. Für den Einstieg brauchst du kein TypeScript – aber in größeren Projekten ist es heute quasi Standard.