Referenzleitfaden

JavaScript-Referenzleitfaden mit Beispielen

Der Unterschied zwischen const, let und var, was querySelector ist, wofür onclick dient — in einfacher Sprache erklärt, mit Code-Beispielen statt trockener Definitionen.

📖 8 Themen 🎯 Für Anfänger 🔄 Aktualisiert: 2026

Inhalt

  1. 1. const, let, var — was ist der Unterschied
  2. 2. Wie man ein Element auf der Seite auswählt
  3. 3. onclick, onchange, addEventListener
  4. 4. Template Literals
  5. 5. Arrow-Funktionen vs. normale
  6. 6. Arrays durchlaufen: forEach, map, filter
  7. 7. Mit Objekten arbeiten
  8. 8. JSON: stringify und parse

1. const, let, var — was ist der Unterschied

Alle drei Schlüsselwörter erzeugen eine Variable, verhalten sich aber unterschiedlich.

var — die veraltete Option

var ist die älteste Form. Sie hat einen „leckenden" Funktionsscope (function scope), sodass eine Variable versehentlich aus einem Block { } „entkommen" kann. Heute wird davon abgeraten.

let — eine änderbare Variable

let zaehler = 0;
zaehler = zaehler + 1; // der Wert kann geändert werden
console.log(zaehler); // 1

let lebt strikt innerhalb des Blocks { }, in dem sie deklariert wurde — das nennt man Block Scope.

const — eine nicht neu zuweisbare Variable

const name = "Max";
name = "Paul"; // ❌ Fehler: Assignment to constant variable
Wichtig: const verhindert das Ändern der Variable selbst, aber nicht das Ändern des Inhalts eines Objekts oder Arrays darin:
const nutzer = { name: "Max" };
nutzer.name = "Paul"; // ✅ das geht

Standardregel: nutze const für alles, was nicht neu zugewiesen wird. Wenn sich der Wert ändern wird, nutze let. var wird heute kaum noch verwendet.

2. Wie man ein Element auf der Seite auswählt

Um etwas im HTML per JavaScript zu ändern, muss man dieses Element zuerst „finden".

querySelector — findet das erste passende Element

const btn = document.querySelector(".mein-button");
const titel = document.querySelector("#haupttitel");

Funktioniert wie ein CSS-Selektor: .klasse — per Klasse, #id — per id, tag — per Tag.

querySelectorAll — findet alle passenden Elemente

const items = document.querySelectorAll(".list-item");
items.forEach(function (item) {
    console.log(item.textContent);
});

getElementById — schnelle Suche per id

const box = document.getElementById("box");

querySelector ist universeller und reicht in 99% der Fälle — wir empfehlen, damit zu beginnen.

3. onclick, onchange, addEventListener

Events sind Reaktionen auf Nutzeraktionen: einen Klick, Texteingabe, ein Formular absenden.

onclick — das Klick-Event

const btn = document.querySelector(".btn");
btn.onclick = function () {
    console.log("Button geklickt!");
};

onchange — das Wertänderungs-Event

Feuert, wenn der Nutzer den Wert eines Inputs, Selects oder Checkbox ändert und den Fokus verlässt.

const select = document.querySelector("select");
select.onchange = function () {
    console.log("Ausgewählt:", select.value);
};

addEventListener — eine flexiblere Möglichkeit

btn.addEventListener("click", function () {
    console.log("Klick via addEventListener");
});
Was ist der Unterschied: ein Element kann nur einen onclick-Handler haben — ein neuer ersetzt den alten. Mit addEventListener können beliebig viele Handler demselben Event zugewiesen werden — deshalb wird es in Projekten öfter genutzt.

4. Template Literals

Sie erlauben es, Variablen direkt in einen String einzufügen, mit Backticks ` statt normaler Anführungszeichen.

const name = "Maria";
const alter = 20;

// alte Art
console.log("Hallo, " + name + "! Du bist " + alter + " Jahre alt.");

// template literal
console.log(`Hallo, ${name}! Du bist ${alter} Jahre alt.`);

Innerhalb von ${ } kann jeder Ausdruck stehen, nicht nur eine Variable: `Nächstes Jahr: ${alter + 1}`.

5. Arrow-Funktionen vs. normale

// normale Funktion
function summe(a, b) {
    return a + b;
}

// arrow-funktion
const summe2 = (a, b) => a + b;

Arrow-Funktionen sind kürzer — wenn der Körper ein einzelner Ausdruck ist, können return und geschweifte Klammern weggelassen werden.

Der Hauptunterschied ist, dass Arrow-Funktionen kein eigenes this haben, sie übernehmen es vom umgebenden Code. Am Anfang ist das nicht kritisch, aber wichtig zu wissen, dass dieser Unterschied existiert.

6. Arrays durchlaufen: forEach, map, filter

forEach — einfach ein Array „durchlaufen"

const fruechte = ["Apfel", "Banane", "Birne"];
fruechte.forEach(function (frucht) {
    console.log(frucht);
});

map — ein neues Array aus einem bestehenden erstellen

const zahlen = [1, 2, 3];
const verdoppelt = zahlen.map(n => n * 2);
console.log(verdoppelt); // [2, 4, 6]

filter — nur die benötigten Elemente behalten

const zahlen = [1, 2, 3, 4, 5];
const gerade = zahlen.filter(n => n % 2 === 0);
console.log(gerade); // [2, 4]

Eine einfache Regel: forEach, wenn du nur etwas mit jedem Element tun musst; map, wenn du ein neues transformiertes Array brauchst; filter, wenn du einen Teil der Elemente auswählen musst.

7. Mit Objekten arbeiten

const nutzer = {
    name: "Anna",
    alter: 22,
    istStudentin: true
};

console.log(nutzer.name);        // mit Punkt
console.log(nutzer["alter"]);    // mit eckigen Klammern

nutzer.stadt = "Berlin";         // neue Eigenschaft hinzufügen
delete nutzer.istStudentin;      // Eigenschaft löschen

Eckige Klammern sind nützlich, wenn der Eigenschaftsname in einer Variable gespeichert ist: nutzer[key].

8. JSON: stringify und parse

JSON ist ein Datenaustauschformat. In JavaScript sind ein Objekt und ein JSON-String nicht dasselbe — man muss zwischen ihnen umwandeln.

const nutzer = { name: "Oskar", alter: 30 };

// objekt → json string
const json = JSON.stringify(nutzer);
console.log(json); // '{"name":"Oskar","alter":30}'

// json string → objekt
const geparst = JSON.parse(json);
console.log(geparst.name); // "Oskar"

JSON.stringify braucht man vor allem, um Daten an einen Server zu senden oder in localStorage zu speichern, und JSON.parse für den umgekehrten Prozess.

Was als Nächstes kommt

Willst du das alles systematisch verstehen?

Im JavaScript-Kurs wird jedes dieser Themen ausführlich erklärt, mit Übung und echten Projekten — ohne Umwege, ohne ausgelassene Schritte.