TypeScript hat einen neuen Datentyp namens Tuple eingeführt. Tupel kann zwei Werte verschiedener Datentypen enthalten.
Betrachten Sie das folgende Beispiel für Variablen vom Typ number, string und tupel.
Kopieren
var empId: number = 1;var empName: string = "Steve"; // Tuple type variable var employee: = ;
Im obigen Beispiel haben wir eine Variable empId
als Zahlentyp und empName
als Zeichenfolgentyp mit Werten definiert. Hier haben wir id und Name eines Mitarbeiters zwei Variablen deklariert und zugewiesen. Das Gleiche kann durch Verwendung einer einzelnen Tupeltypvariablen erreicht werden. employee
ist die Tupeltypvariable mit zwei Werten vom Typ number und string . Somit entfällt die Notwendigkeit, zwei verschiedene Variablen zu deklarieren.
Eine Tupeltypvariable kann mehrere Datentypen enthalten, wie unten gezeigt.
Kopieren
var employee: = ;var person: = ;var user: ;// declare tuple variableuser = ;// initialize tuple variable
Sie können auch ein Array von Tupeln deklarieren.
Kopieren
var employee: ;employee = , , ];
TypeScript generiert ein Array in JavaScript für die Tupelvariable. Zum Beispiel wird var employee: =
in JavaScript als var employee =
kompiliert.
Zugriff auf Tupelelemente
Wir können auf Tupelelemente mit index zugreifen, genauso wie auf ein Array. Ein Index beginnt bei Null.
Kopieren
var employee: = ;employee; // returns 1employee; // returns "Steve"
Elemente zum Tupel hinzufügen
Sie können einem Tupel mit der push() -Methode neue Elemente hinzufügen.
Kopieren
var employee: = ;employee.push(2, "Bill"); console.log(employee); //Output:
Dies ist zulässig, da wir dem Tupel Zahlen- und Zeichenfolgenwerte hinzufügen, die für das Tupel employee
gültig sind.
Versuchen wir nun, dem Tupel einen booleschen Wert hinzuzufügen.
employee.push(true)
Das obige Beispiel löst den folgenden Fehler aus:
test.ts(4,15): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number | string'.
Wir erhalten eine Fehlermeldung, dass das Hinzufügen eines Booleschen Werts zu einem Tupel vom Typ ’number | string‘ nicht zulässig ist. Daher kann ein als ’number | string‘ deklariertes Tupel nur Zahlen- und Zeichenfolgenwerte speichern.
Das Tupel ist wie ein Array. Wir können also Array-Methoden für Tupel wie pop () , concat () usw. verwenden.
Kopieren
var employee: = ;// retrieving value by index and performing an operation employee = employee.concat(" Jobs"); console.log(employee); //Output: