← Zurück

Tech & KI

Vanilla JS Konzepte: Die Checkliste für Vibe Coders

März 2026 · 7 Min. Lesezeit · Max Götte

Du musst kein JavaScript-Experte sein um mit KI Websites zu bauen. Aber du musst die 15 Konzepte kennen die Claude, Cursor und Copilot in ihrem generierten Code verwenden — sonst kannst du Fehler weder erkennen noch fixen. Diese Checkliste ist dein Mindest-Vokabular für Vanilla JS im Vibe-Coding-Kontext.

Frequently Asked Prompts

Konzept erklären
Erkläre mir [querySelector / addEventListener / template literals] in Vanilla JS mit einem konkreten Beispiel für eine statische Website. Kein Framework, kein Build-Tool.
Code Review
Hier ist mein JavaScript. Markiere jede Stelle die ein Vanilla-JS-Anfänger nicht verstehen würde und erkläre sie in einem Satz.
Refactor
Refactore diesen Code zu reinem Vanilla JS. Keine externen Libraries, keine ES-Module, nur ein script-Tag mit defer.
I

DOM: Die Sprache des Browsers

  1. querySelector / querySelectorAll — Elemente finden. Wie CSS-Selektoren, aber in JavaScript. Alles was du per CSS ansprechen kannst, erreichst du per JS. Das ist die Grundlage für jede Interaktion.
  2. addEventListener — Auf Klicks, Scrollen, Tastendrücke reagieren. Ohne dieses Konzept passiert auf deiner Seite nichts. Claude nutzt es in praktisch jedem generierten Script.
  3. classList.add / remove / toggle — CSS-Klassen dynamisch ändern. So funktionieren Hamburger-Menüs, Dark-Mode-Toggles, Scroll-Animationen. Kein innerHTML nötig.
  4. createElement / appendChild — HTML-Elemente per JavaScript erzeugen. Für dynamische Listen, Karten, Benachrichtigungen. Wichtig: innerHTML vermeiden wegen Sicherheit.
  5. textContent vs. innerHTML — textContent ist sicher (nur Text), innerHTML kann Code ausführen (XSS-Risiko). Faustregel: immer textContent, außer du hast einen sehr guten Grund.
II

JavaScript-Grundlagen die Claude voraussetzt

  1. const / let (nie var) — const für Werte die sich nicht ändern, let für Schleifen und Zähler. var ist veraltet und erzeugt Bugs durch Hoisting. Claude nutzt var nie — du solltest es auch nicht.
  2. Template Literals — Backticks statt Anführungszeichen: `Hallo ${name}`. Jeder Claude-Output nutzt sie für String-Interpolation und mehrzeilige Strings.
  3. Arrow Functionsconst fn = () => {} statt function fn() {}. Kürzere Syntax, anderes this-Binding. Claude generiert fast ausschliesslich Arrow Functions.
  4. Destructuringconst { x, y } = obj extrahiert Werte aus Objekten. Sieht kryptisch aus, ist aber nur eine Abkürzung. Wenn Claude es nutzt und du es nicht kennst, wirkt der Code unlesbar.
  5. Spread-Operator (...) — Kopiert Arrays und Objekte: [...arr, newItem]. Unverzichtbar für State-Updates ohne Mutation.
III

Async, Performance, Module

  1. async / await + fetch — Daten von APIs holen. Jede dynamische Seite braucht es. Claude generiert immer async/await statt .then()-Chains. Verstehen: await pausiert die Funktion bis die Antwort da ist.
  2. IntersectionObserver — Erkennt ob ein Element im Viewport ist. Basis für Scroll-Animationen, Lazy Loading, Infinite Scroll. Performanter als scroll-Events. Lighthouse liebt es.
  3. defer und type="module" — Scripts im Head mit defer laden: Browser parst HTML weiter während JS lädt. type="module" aktiviert ES-Module. Ohne beides: render-blocking, schlechter Lighthouse-Score.
  4. localStorage / sessionStorage — Daten im Browser speichern. Für Dark-Mode-Präferenz, Formular-Zwischenspeicherung, einfache Persistenz. Keine Datenbank nötig.
  5. CSS Custom Properties via JSdocument.documentElement.style.setProperty('--color', '#1A56DB'). Verbindet JavaScript mit deinem CSS-Farbsystem. Basis für Theme-Switcher und dynamische Designs.

Faustregel

Wenn du 12 von 15 Konzepten erklären kannst, bist du bereit für produktives Vibe Coding mit Vanilla JS. Die restlichen 3 lernst du on the job — indem du Claude fragst was sein generierter Code macht.

Häufige Fragen

Muss ich alle 15 Konzepte perfekt beherrschen?

Nein. Du musst sie erkennen und grob verstehen was sie tun. Perfekte Syntax lernst du durch Wiederholung. Das Ziel ist: Wenn Claude Code generiert, kannst du jeden Block zuordnen und Fehler eingrenzen.

Brauche ich TypeScript?

Für statische Websites: nein. TypeScript braucht einen Build-Step und erhöhte Komplexität. Für den Vanilla-JS-Workflow reicht reines JavaScript völlig aus.

Wie lerne ich diese Konzepte am schnellsten?

Bau eine kleine Seite (Portfolio, Rechner, To-Do-Liste) und lass Claude den Code generieren. Dann geh Zeile für Zeile durch und frag Claude was jede Zeile macht. Aktives Lesen schlägt passive Tutorials.

Zum Thema: Web Dev for Vibe Coders — Der komplette Guide 2026

Quellen

MDN Web Docs — JavaScript Guide (developer.mozilla.org)

javascript.info — The Modern JavaScript Tutorial