JavaScript-Referenz

Kompakte Kurzreferenz der wichtigsten JavaScript-Konzepte und -Methoden. Jede Karte zeigt Name, Beschreibung und ein minimales Code-Beispiel.

Variablen und Datentypen
let
Variable, die spater neu zugewiesen werden kann.
let count = 0;
count = count + 1;
const
Konstante, kann nicht neu zugewiesen werden.
const API_URL = "https://api.example.com";
const items = [];  // Array-Inhalt anderbar!
String
Zeichenkette in Anfuhrungszeichen oder Backticks.
const name = "Graz";
const greeting = `Hallo ${name}`;
Number
Ganzzahlen und Dezimalzahlen.
const year = 1786;
const pi = 3.14;
Boolean
Wahrheitswert: true oder false.
const isActive = true;
const isEmpty = false;
Array
Geordnete Liste von Werten.
const cities = ["Graz", "Wien", "Salzburg"];
console.log(cities[0]); // "Graz"
Object
Sammlung von Schlussel-Wert-Paaren.
const brief = {
  sender: "Mozart",
  jahr: 1786
};
null / undefined
null = bewusst leer, undefined = nicht zugewiesen.
let result = null;     // explizit leer
let x;                 // undefined
console.log(typeof x); // "undefined"
Operatoren
Arithmetik: + - * / %
Grundrechenarten und Modulo (Rest).
const sum = 10 + 3;   // 13
const rest = 10 % 3;  // 1
const text = "Hallo" + " Welt"; // Verkettung
Vergleich: === !== < >
Strikte Gleichheit und Grossenvergleich.
5 === 5     // true
5 === "5"   // false (strikt!)
5 !== 3     // true
10 > 5      // true
Logisch: && || !
UND, ODER, NICHT fur Bedingungen.
true && false  // false
true || false  // true
!true          // false
typeof
Gibt den Datentyp als String zuruck.
typeof "Hallo"  // "string"
typeof 42       // "number"
typeof true     // "boolean"
typeof []       // "object"
Strings
.length
Anzahl der Zeichen im String.
"Hallo".length  // 5
.toUpperCase() / .toLowerCase()
Wandelt in Gross- bzw. Kleinbuchstaben um.
"graz".toUpperCase()  // "GRAZ"
"WIEN".toLowerCase()  // "wien"
.includes()
Pruft, ob ein Teilstring enthalten ist.
"Briefsammlung".includes("Brief")
// true
.split()
Teilt String in Array anhand eines Trennzeichens.
"Graz,Wien,Linz".split(",")
// ["Graz", "Wien", "Linz"]
.trim()
Entfernt Leerzeichen am Anfang und Ende.
"  Hallo  ".trim()  // "Hallo"
Template Literals
Backtick-Strings mit eingebetteten Ausdrucken.
const name = "Mozart";
const text = `Brief von ${name}`;
const multi = `Zeile 1
Zeile 2`;
Arrays
.push() / .pop()
Element am Ende hinzufugen / entfernen.
const arr = [1, 2];
arr.push(3);   // [1, 2, 3]
arr.pop();     // [1, 2], gibt 3 zuruck
.length
Anzahl der Elemente im Array.
["a", "b", "c"].length  // 3
.forEach()
Fuhrt eine Funktion fur jedes Element aus.
const staedte = ["Graz", "Wien"];
staedte.forEach(stadt => {
  console.log(stadt);
});
.map()
Erstellt neues Array durch Transformation jedes Elements.
const namen = ["graz", "wien"];
const gross = namen.map(n =>
  n.toUpperCase()
);
// ["GRAZ", "WIEN"]
.filter()
Erstellt neues Array mit Elementen, die den Test bestehen.
const zahlen = [1, 2, 3, 4, 5];
const gross = zahlen.filter(z => z > 3);
// [4, 5]
.find()
Gibt das erste Element zuruck, das den Test besteht.
const briefe = [{id: 1}, {id: 2}];
const brief = briefe.find(b =>
  b.id === 2
);
// {id: 2}
.sort()
Sortiert das Array (verandert Original!).
const arr = [3, 1, 2];
arr.sort((a, b) => a - b);  // [1, 2, 3]
arr.sort((a, b) => b - a);  // [3, 2, 1]
.join()
Verbindet Array-Elemente zu einem String.
["Graz", "Wien"].join(", ")
// "Graz, Wien"
Spread-Operator ...
Entpackt Array-Elemente in ein neues Array.
const a = [1, 2];
const b = [3, 4];
const all = [...a, ...b]; // [1, 2, 3, 4]
const copy = [...a];      // Kopie
Objekte
{key: value}
Objekt-Literal mit Eigenschaften.
const brief = {
  sender: "Mozart",
  empfaenger: "Leopold",
  jahr: 1786
};
Dot / Bracket Notation
Zugriff auf Eigenschaften per Punkt oder Klammer.
brief.sender          // "Mozart"
brief["empfaenger"]   // "Leopold"

const key = "jahr";
brief[key]            // 1786
Object.keys() / Object.values()
Gibt alle Schlussel bzw. Werte als Array zuruck.
Object.keys(brief)
// ["sender", "empfaenger", "jahr"]

Object.values(brief)
// ["Mozart", "Leopold", 1786]
Destructuring
Extrahiert Werte direkt in Variablen.
const { sender, jahr } = brief;
console.log(sender); // "Mozart"
console.log(jahr);   // 1786
Kontrollstrukturen
if / else
Bedingte Ausfuhrung von Code.
if (count > 0) {
  console.log("Treffer!");
} else if (count === 0) {
  console.log("Keine Treffer");
} else {
  console.log("Fehler");
}
for
Klassische Zahlschleife.
for (let i = 0; i < 10; i++) {
  console.log(i);
}
for...of
Iteriert uber Elemente eines Arrays (oder Iterable).
const staedte = ["Graz", "Wien"];
for (const stadt of staedte) {
  console.log(stadt);
}
while
Schleife, die lauft solange Bedingung wahr ist.
let i = 0;
while (i < 5) {
  console.log(i);
  i++;
}
switch
Fallunterscheidung fur mehrere Werte.
switch (typ) {
  case "brief":
    console.log("Brief");
    break;
  case "postkarte":
    console.log("Postkarte");
    break;
  default:
    console.log("Unbekannt");
}
Funktionen
function name() {}
Klassische Funktionsdeklaration.
function greet(name) {
  return `Hallo ${name}`;
}
greet("Maria"); // "Hallo Maria"
Arrow Functions () => {}
Kurzschreibweise fur Funktionen.
const greet = (name) => {
  return `Hallo ${name}`;
};
// Einzeiler (implizites return):
const double = n => n * 2;
Parameter und Return
Eingabewerte und Ruckgabe.
const add = (a, b) => a + b;
const result = add(3, 4); // 7

// Standardwert:
const greet = (name = "Welt") =>
  `Hallo ${name}`;
DOM (Document Object Model)
document.querySelector()
Wahlt das erste passende Element (CSS-Selektor).
const title = document.querySelector("h1");
const btn = document.querySelector(".btn");
const nav = document.querySelector("#nav");
document.querySelectorAll()
Wahlt alle passenden Elemente (NodeList).
const items = document
  .querySelectorAll("li");
items.forEach(item => {
  console.log(item.textContent);
});
document.getElementById()
Wahlt Element anhand seiner ID.
const box = document
  .getElementById("output");
.textContent / .innerHTML
Liest/setzt Text bzw. HTML-Inhalt eines Elements.
el.textContent = "Neuer Text";
el.innerHTML = "<strong>Fett</strong>";
.classList.add/remove/toggle
CSS-Klassen hinzufugen, entfernen oder umschalten.
el.classList.add("active");
el.classList.remove("hidden");
el.classList.toggle("open");
.setAttribute()
Setzt ein HTML-Attribut auf einen Wert.
img.setAttribute("src", "bild.jpg");
link.setAttribute("href", "/seite");
.style
Direkter Zugriff auf Inline-CSS-Stile.
el.style.color = "red";
el.style.display = "none";
el.style.backgroundColor = "#eee";
.createElement() / .appendChild()
Neues Element erstellen und einfugen.
const li = document.createElement("li");
li.textContent = "Neuer Eintrag";
document.querySelector("ul")
  .appendChild(li);
Events
.addEventListener()
Registriert eine Callback-Funktion fur ein Event.
btn.addEventListener("click", () => {
  console.log("Klick!");
});

input.addEventListener("input", (e) => {
  console.log(e.target.value);
});
Haufige Events
click, input, submit, keydown und weitere.
// Formular abfangen:
form.addEventListener("submit", (e) => {
  e.preventDefault();
  // Formulardaten verarbeiten
});

// Tastendruck:
document.addEventListener("keydown",
  (e) => console.log(e.key)
);
event.preventDefault()
Verhindert das Standardverhalten (z.B. Formular-Submit).
link.addEventListener("click", (e) => {
  e.preventDefault();
  // eigene Logik statt Navigation
});
Fetch und Async/Await
fetch(url)
Ladt Daten von einer URL (gibt Promise zuruck).
fetch("data/briefe.json")
  .then(response => response.json())
  .then(data => {
    console.log(data);
  });
.then()
Verarbeitet das Ergebnis eines Promise.
fetch("api/data")
  .then(res => res.json())
  .then(data => anzeigen(data))
  .catch(err => console.error(err));
async / await
Modernere Syntax fur asynchronen Code.
const loadData = async () => {
  const response = await fetch("data.json");
  const data = await response.json();
  console.log(data);
};
try / catch
Fehlerbehandlung fur async-Operationen.
const loadData = async () => {
  try {
    const res = await fetch("data.json");
    const data = await res.json();
    return data;
  } catch (error) {
    console.error("Fehler:", error);
  }
};
response.json() / response.text()
Liest die Antwort als JSON-Objekt bzw. Textstring.
// JSON-Daten:
const data = await response.json();

// Text (CSV, XML, HTML):
const text = await response.text();
XML-Verarbeitung
new DOMParser()
Erstellt einen Parser fur XML/HTML-Strings.
const parser = new DOMParser();
.parseFromString()
Wandelt einen XML/HTML-String in ein DOM-Dokument um.
const xmlText = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(
  xmlText, "text/xml"
);
.querySelector() auf XML
CSS-Selektoren funktionieren auch auf XML-Dokumenten.
const title = xmlDoc
  .querySelector("titleStmt title");
console.log(title.textContent);
.getElementsByTagName()
Wahlt alle Elemente mit einem bestimmten Tag-Namen.
const paragraphs = xmlDoc
  .getElementsByTagName("p");
for (const p of paragraphs) {
  console.log(p.textContent);
}
JSON
JSON.parse()
Wandelt einen JSON-String in ein JavaScript-Objekt um.
const jsonStr = '{"name": "Mozart"}';
const obj = JSON.parse(jsonStr);
console.log(obj.name); // "Mozart"
JSON.stringify()
Wandelt ein JavaScript-Objekt in einen JSON-String um.
const obj = { name: "Mozart", jahr: 1786 };
const str = JSON.stringify(obj);
// '{"name":"Mozart","jahr":1786}'

// Formatiert (lesbar):
JSON.stringify(obj, null, 2);