TypeScript - Tuplas
Às vezes, pode ser necessário armazenar uma coleção de valores de vários tipos. Os arrays não servirão para esse propósito. O TypeScript nos fornece um tipo de dados chamado tupla que ajuda a atingir esse propósito.
Ele representa uma coleção heterogênea de valores. Em outras palavras, as tuplas permitem o armazenamento de vários campos de diferentes tipos. Tuplas também podem ser passadas como parâmetros para funções.
Sintaxe
var tuple_name = [value1,value2,value3,…value n]
Por exemplo
var mytuple = [10,"Hello"];
Você também pode declarar uma tupla vazia em Typescript e escolher inicializá-la mais tarde.
var mytuple = [];
mytuple[0] = 120
mytuple[1] = 234
Acessando valores em tuplas
Os valores de tupla são chamados individualmente de itens. Tuplas são baseadas em índices. Isso significa que os itens em uma tupla podem ser acessados usando seu índice numérico correspondente. O índice do item da tupla começa de zero e se estende até n-1 (onde n é o tamanho da tupla).
Sintaxe
tuple_name[index]
Exemplo: Tupla Simples
var mytuple = [10,"Hello"]; //create a tuple
console.log(mytuple[0])
console.log(mytuple[1])
No exemplo acima, uma tupla, mytuple, é declarado. A tupla contém valores de tipos numéricos e de string, respectivamente.
Na compilação, ele irá gerar o mesmo código em JavaScript.
Sua saída é a seguinte -
10
Hello
Exemplo: tupla vazia
var tup = []
tup[0] = 12
tup[1] = 23
console.log(tup[0])
console.log(tup[1])
Na compilação, ele irá gerar o mesmo código em JavaScript.
Sua saída é a seguinte -
12
23
Operações de tupla
As tuplas no TypeScript oferecem suporte a várias operações, como enviar um novo item, remover um item da tupla, etc.
Exemplo
var mytuple = [10,"Hello","World","typeScript"];
console.log("Items before push "+mytuple.length) // returns the tuple size
mytuple.push(12) // append value to the tuple
console.log("Items after push "+mytuple.length)
console.log("Items before pop "+mytuple.length)
console.log(mytuple.pop()+" popped from the tuple") // removes and returns the last item
console.log("Items after pop "+mytuple.length)
O push () anexa um item à tupla
O pop () remove e retorna o último valor na tupla
Na compilação, ele irá gerar o mesmo código em JavaScript.
A saída do código acima é a seguinte -
Items before push 4
Items after push 5
Items before pop 5
12 popped from the tuple
Items after pop 4
Atualizando tuplas
As tuplas são mutáveis, o que significa que você pode atualizar ou alterar os valores dos elementos da tupla.
Exemplo
var mytuple = [10,"Hello","World","typeScript"]; //create a tuple
console.log("Tuple value at index 0 "+mytuple[0])
//update a tuple element
mytuple[0] = 121
console.log("Tuple value at index 0 changed to "+mytuple[0])
Na compilação, ele irá gerar o mesmo código em JavaScript.
A saída do código acima é a seguinte -
Tuple value at index 0 10
Tuple value at index 0 changed to 121
Destruturando uma tupla
A desestruturação refere-se a quebrar a estrutura de uma entidade. O TypeScript oferece suporte à desestruturação quando usado no contexto de uma tupla.
Exemplo
var a =[10,"hello"]
var [b,c] = a
console.log( b )
console.log( c )
Na compilação, ele irá gerar o seguinte código JavaScript.
//Generated by typescript 1.8.10
var a = [10, "hello"];
var b = a[0], c = a[1];
console.log(b);
console.log(c);
Sua saída é a seguinte -
10
hello