TypeScript introduziu um novo tipo de dados chamado Tuple. Tuple pode conter dois valores de diferentes tipos de dados.
considere o seguinte exemplo de variáveis do tipo número, string e tupla.
Copiar
var empId: number = 1;var empName: string = "Steve"; // Tuple type variable var employee: = ;
No exemplo acima, definimos uma variável empId
como o tipo de número e empName
como o tipo de seqüência de caracteres com valores. Aqui, declaramos e atribuímos duas variáveis ao id e ao nome de um funcionário. A mesma coisa pode ser alcançada usando uma única variável do tipo tupla. employee
é a variável tipo tupla com dois valores de número e tipo de string. Assim, eliminando a necessidade de declarar duas variáveis diferentes.
uma variável do tipo tupla pode incluir vários tipos de dados, conforme mostrado abaixo.
cópia
var employee: = ;var person: = ;var user: ;// declare tuple variableuser = ;// initialize tuple variable
você também pode declarar uma matriz de tupla.
copiar
var employee: ;employee = , , ];
TypeScript gera uma matriz em JavaScript para a variável tuple. Por exemplo, var employee: =
será compilado como var employee =
em JavaScript.
acessando elementos de tupla
podemos acessar elementos de tupla usando index, da mesma forma que uma matriz. Um índice começa do zero.
cópia
var employee: = ;employee; // returns 1employee; // returns "Steve"
adicione elementos à tupla
você pode adicionar novos elementos a uma tupla usando o método push ().
copiar
var employee: = ;employee.push(2, "Bill"); console.log(employee); //Output:
isso é permitido porque estamos adicionando valores de número e string à tupla e eles são válidos para a tupla employee
.
agora, vamos tentar adicionar um valor booleano à tupla.
employee.push(true)
O exemplo acima irá lançar o seguinte erro:
test.ts(4,15): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number | string'.
recebemos um erro dizendo que a adição de um valor booleano para uma tupla do tipo ‘| número de seqüência de caracteres’ não é permitido. Portanto, uma tupla declarada como ‘número / string’ pode armazenar apenas valores de número e string.
a tupla é como uma matriz. Portanto, podemos usar métodos de matriz em tupla, como pop (), concat() etc.
Copiar
var employee: = ;// retrieving value by index and performing an operation employee = employee.concat(" Jobs"); console.log(employee); //Output: