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.
Ein einfaches Beispiel für ein Tupel ist:
let tuple: [string, number];
tuple = ['hello', 10]; // OKTupel 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']; // ErrorMit 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äsentiertTypeScript 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]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); // 10Sie können Tupel als unveränderlich deklarieren, um Mutationen zu verhindern:
const immutableTuple: readonly [string, number] = ['hello', 10];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
}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.