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