Magento 2 Experten — Hyvä Theme, Tailwind CSS & SEO aus einer Hand ›

Grundlegende Typen in TypeScript

Grundlegende Typen

~16 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026

Jetzt geht es an die eigentlichen Bausteine: die grundlegenden Typen, die TypeScript mitbringt. Wir beginnen, echte Daten unserer Bibliothek zu modellieren – die ersten Bücher.

Die primitiven Typen

let titel: string = 'Der Herr der Ringe';
let seitenzahl: number = 1216;
let istVerfuegbar: boolean = true;
let bewertung: number = 4.5; // TypeScript kennt KEINEN separaten "float"-Typ - alles number
let notiz: string | null = null; // dazu mehr in Kapitel 9 (Union Types)

Kleiner, aber wichtiger Unterschied zu vielen anderen Sprachen: TypeScript hat NUR number für ALLE numerischen Werte – kein separates int/float/double wie in Java oder C#, weil auch JavaScript selbst keine solche Unterscheidung kennt.

Arrays

let genres: string[] = ['Fantasy', 'Abenteuer'];
let seitenzahlen: Array<number> = [1216, 423, 310]; // alternative Schreibweise, identische Bedeutung

genres.push('Klassiker');    // erlaubt - string passt
genres.push(42);             // Fehler - number passt nicht in string[]

string[] und Array<number> sind zwei Schreibweisen FÜR DASSELBE – die eckige-Klammer-Syntax ist im Alltag üblicher, die spitze-Klammer-Syntax ("generisch", mehr dazu in Kapitel 17) wird bei komplexeren, verschachtelten Array-Typen manchmal lesbarer.

Tupel: Arrays mit fester Länge und Typen pro Position

let koordinate: [number, number] = [52.5, 13.4]; // Breitengrad, Längengrad
let regalPosition: [string, number] = ['Regal A', 3]; // Regalname, Fachnummer

koordinate = [13.4, 52.5, 100]; // Fehler - Tupel erlaubt GENAU zwei Elemente

Ein Tupel ist ein Array mit FESTER Länge, bei dem JEDE Position ihren EIGENEN Typ hat – anders als number[] (beliebig viele Zahlen), erzwingt [number, number] GENAU zwei Zahlen an FESTEN Positionen.

any, unknown, never, void: die vier Sonderfälle

  • any – schaltet die Typprüfung KOMPLETT ab. TypeScript behandelt einen any-Wert wie reines JavaScript: alles ist erlaubt, auch offensichtlich falsche Operationen. Sollte SPARSAM eingesetzt werden – jedes any ist ein "blinder Fleck" im sonst durchgängigen Typsystem.
  • unknown – das SICHERE Gegenstück zu any: ein Wert unbekannten Typs, den Sie aber ERST nach einer expliziten Typprüfung (siehe Kapitel 19, Type Narrowing) tatsächlich verwenden dürfen.
  • never – der Typ für Werte, die NIEMALS vorkommen (eine Funktion, die immer einen Fehler wirft, oder eine Endlosschleife) – kommt uns bei erschöpfenden Prüfungen in Kapitel 19 wieder unter.
  • void – der Rückgabetyp für Funktionen, die NICHTS zurückgeben (nur Seiteneffekte wie console.log haben) – ausführlicher in Kapitel 6.
let unsichererWert: any = 'Text';
unsichererWert.foo.bar.baz(); // KEIN Fehler zur Kompilierzeit, obwohl garantiert zur Laufzeit abstürzt

let externeDaten: unknown = JSON.parse('{}');
externeDaten.foo; // Fehler - erst nach Typprüfung erlaubt (siehe Kapitel 19)

Achtung: any ist verlockend, wenn ein Typfehler "einfach verschwinden" soll – widerstehen Sie dem. any deaktiviert die Typprüfung nicht nur für DIESEN Wert, sondern auch für ALLES, was daraus abgeleitet wird – ein einziges any kann sich unbemerkt durch große Teile eines Projekts "durchfressen". Nutzen Sie stattdessen unknown, wenn der Typ WIRKLICH noch nicht bekannt ist.

Praxis: das erste Buch modellieren

Erweitern wir src/index.ts um unsere ersten, echten Bibliotheksdaten:

src/index.ts
let titel: string = 'Der Herr der Ringe';
let autor: string = 'J.R.R. Tolkien';
let erscheinungsjahr: number = 1954;
let seitenzahl: number = 1216;
let istAusgeliehen: boolean = false;
let genres: string[] = ['Fantasy', 'Abenteuer'];

console.log(`${titel} von ${autor} (${erscheinungsjahr}), ${seitenzahl} Seiten`);
console.log(`Genres: ${genres.join(', ')}`);
console.log(`Ausgeliehen: ${istAusgeliehen ? 'ja' : 'nein'}`);

Sechs einzelne Variablen für EIN Buch wirken bereits jetzt unhandlich – im nächsten Kapitel lernen wir let vs. const im TypeScript-Kontext kennen, und ab Kapitel 7 (Interfaces) fassen wir diese losen Variablen zu einem einzigen, sauberen Buch-Typ zusammen.

Tipp: Führen Sie npm start nach JEDER Code-Änderung in diesem Tutorial aus, um das tatsächliche Verhalten zu sehen – TypeScript-Fehler stoppen die Ausführung, bevor überhaupt etwas läuft, also ist ein Programmlauf gleichzeitig eine Bestätigung, dass der aktuelle Code typkorrekt ist.