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