TypeScript - Tuplas

A veces, puede ser necesario almacenar una colección de valores de diversos tipos. Las matrices no servirán para este propósito. TypeScript nos da un tipo de datos llamado tupla que ayuda a lograr tal propósito.

Representa una colección heterogénea de valores. En otras palabras, las tuplas permiten almacenar múltiples campos de diferentes tipos. Las tuplas también se pueden pasar como parámetros a funciones.

Sintaxis

var tuple_name = [value1,value2,value3,…value n]

Por ejemplo

var mytuple = [10,"Hello"];

También puede declarar una tupla vacía en TypeScript y elegir inicializarla más tarde.

var mytuple = []; 
mytuple[0] = 120 
mytuple[1] = 234

Accediendo a valores en tuplas

Los valores de tupla se denominan elementos individualmente. Las tuplas se basan en índices. Esto significa que se puede acceder a los elementos de una tupla utilizando su índice numérico correspondiente. El índice del elemento de tupla comienza desde cero y se extiende hasta n-1 (donde n es el tamaño de la tupla).

Sintaxis

tuple_name[index]

Ejemplo: tupla simple

var mytuple = [10,"Hello"]; //create a  tuple 
console.log(mytuple[0]) 
console.log(mytuple[1])

En el ejemplo anterior, una tupla, mytuple, se declara. La tupla contiene valores de tipos numéricos y de cadena, respectivamente.

Al compilar, generará el mismo código en JavaScript.

Su salida es la siguiente:

10 
Hello

Ejemplo: tupla vacía

var tup = [] 
tup[0] = 12 
tup[1] = 23 

console.log(tup[0]) 
console.log(tup[1])

Al compilar, generará el mismo código en JavaScript.

Su salida es la siguiente:

12 
23

Operaciones de tuplas

Las tuplas en TypeScript admiten varias operaciones como insertar un nuevo elemento, eliminar un elemento de la tupla, etc.

Ejemplo

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)
  • El push () agrega un elemento a la tupla

  • El pop () elimina y devuelve el último valor de la tupla

Al compilar, generará el mismo código en JavaScript.

La salida del código anterior es la siguiente:

Items before push 4 
Items after push 5 
Items before pop 5 
12 popped from the tuple 
Items after pop 4

Actualizar tuplas

Las tuplas son mutables, lo que significa que puede actualizar o cambiar los valores de los elementos de la tupla.

Ejemplo

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])

Al compilar, generará el mismo código en JavaScript.

La salida del código anterior es la siguiente:

Tuple value at index 0 10 
Tuple value at index 0 changed to 121

Desestructurando una tupla

La desestructuración se refiere a romper la estructura de una entidad. TypeScript admite la desestructuración cuando se usa en el contexto de una tupla.

Ejemplo

var a =[10,"hello"] 
var [b,c] = a 
console.log( b )    
console.log( c )

Al compilar, generará el siguiente 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);

Su salida es la siguiente:

10 
hello