36 Tuples in TypeScript: Strukturierte Daten effizient verwalten

Tupel in TypeScript bieten eine Möglichkeit, Arrays mit einer festen Anzahl von Elementen und spezifischen Typen zu definieren. Sie eignen sich hervorragend, um eine vordefinierte Struktur und Reihenfolge der Elemente sicherzustellen.

36.1 Grundlagen von Tupeln

Ein einfaches Beispiel für ein Tupel ist:

let tuple: [string, number];
tuple = ['hello', 10]; // OK

Tupel erzwingen eine strikte Reihenfolge und Anzahl der Elemente, daher führt eine falsche Reihenfolge oder Anzahl zu einem Fehler:

tuple = [10, 'hello']; // Error
tuple = ['hello', 10, 'world']; // Error

36.2 Benannte Tupel

Mit TypeScript können Sie benannte Tupel verwenden, um die Lesbarkeit zu verbessern:

let tuple: [word: string, count: number];
tuple = ['hello', 10]; // Jetzt klarer, was jedes Element repräsentiert

36.3 Typinferenz in Tupeln

TypeScript unterstützt Typinferenz in Tupeln, was bedeutet, dass die Typen der Elemente automatisch erkannt werden können:

let inferredTuple = ['hello', 10]; // TypeScript erkennt als [string, number]

36.4 Dekonstruktion von Tupeln

Tupel können durch Dekonstruktion genutzt werden, um einen einfachen Zugriff auf ihre Elemente zu ermöglichen:

let [word, count] = tuple;
console.log(word); // 'hello'
console.log(count); // 10

36.5 Immutability von Tupeln

Sie können Tupel als unveränderlich deklarieren, um Mutationen zu verhindern:

const immutableTuple: readonly [string, number] = ['hello', 10];

36.6 Einsatz in Funktionssignaturen

Tupel sind besonders nützlich in Funktionssignaturen, um die Typen von Argumenten und Rückgabewerten zu definieren:

function processTuple([word, count]: [string, number]): void {
    // Funktion mit Tupel als Parameter
}

36.7 Vergleich mit anderen Datentypen

Im Vergleich zu Arrays bieten Tupel eine strengere Typsicherheit und Struktur. Im Gegensatz zu Objekten ermöglichen sie eine einfache Reihenfolge und Zugriff durch Dekonstruktion, was besonders bei Funktionen nützlich ist.