TypeScript ha introdotto un nuovo tipo di dati chiamato Tupla. La tupla può contenere due valori di diversi tipi di dati.
Si consideri il seguente esempio di numero, stringa e variabili di tipo tupla.
Copia
var empId: number = 1;var empName: string = "Steve"; // Tuple type variable var employee: = ;
Nell’esempio precedente, abbiamo definito una variabile empId
come tipo di numero e empName
come tipo di stringa con valori. Qui, abbiamo dichiarato e assegnato due variabili a id e nome di un dipendente. La stessa cosa può essere ottenuta utilizzando una singola variabile di tipo tupla. employee
è la variabile di tipo tupla con due valori di tipo number e string. Quindi, eliminando la necessità di dichiarare due variabili diverse.
Una variabile di tipo tupla può includere più tipi di dati come mostrato di seguito.
Copia
var employee: = ;var person: = ;var user: ;// declare tuple variableuser = ;// initialize tuple variable
È possibile dichiarare una matrice di tupla anche.
Copia
var employee: ;employee = , , ];
TypeScript genera un array in JavaScript per la variabile tupla. Ad esempio, var employee: =
verrà compilato come var employee =
in JavaScript.
Accesso agli elementi Tuple
Possiamo accedere agli elementi tuple usando index, allo stesso modo di un array. Un indice parte da zero.
var employee: = ;employee; // returns 1employee; // returns "Steve"
Aggiungere elementi in Tupla
È possibile aggiungere nuovi elementi a una tupla utilizzando il metodo push ().
Copia
var employee: = ;employee.push(2, "Bill"); console.log(employee); //Output:
Questo è permesso perché stiamo aggiungendo valori di numero e stringa alla tupla e sono validi per la tupla employee
.
Ora, proviamo ad aggiungere un valore booleano alla tupla.
employee.push(true)
L’esempio precedente genererà il seguente errore:
test.ts(4,15): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number | string'.
Otteniamo un errore che dice che l’aggiunta di un valore booleano a una tupla di tipo ‘number | string’ non è consentita. Quindi, una tupla dichiarata come ‘numero / stringa’ può memorizzare solo numeri e valori di stringa.
La tupla è come un array. Quindi, possiamo usare metodi di array su tuple come pop (), concat () ecc.
Copia
var employee: = ;// retrieving value by index and performing an operation employee = employee.concat(" Jobs"); console.log(employee); //Output: