24
Fundamentos de TypeScript 🦆| #4: Tuplas
Las tuplas en esencia son arreglos, pero arreglos limitados a cierta cantidad de elementos y a ciertos tipos de datos.
const nombreVariable:[tipoDato1, tipoDato2, ...tipoDatoN] = [valor1, valor2, ... valorN];
Por ejemplo, podríamos tener una tupla temperatura
de 2 posiciones, que contega la temperatura y su unidad de medida:
const temperatura:[number, string] = [20,"C"];
Esta tupla solo puede contener 2 elementos, el primero un number
, y el segundo un string
, exactamente en ese orden.
Si tuvieramos la tupla invertida tendríamos un error:
const temperatura:[number, string] = ["C", 20];
Estamos tratando de asignar un tipo string
a un tipo number
, por ello nos arroja una advertencia como la siguiente:
Type 'string' is not assignable to type 'number'.
Ahora, si intentamos agregar más de 2 elementos al ejemplo anterior, por más que sean del tipo de dato permitido, este arrojará un error:
const temperatura:[number, string] = [20, "C", 23, "F"];
Type '[number, string, number, string]' is not assignable to type '[number, string]'.
Source has 4 element(s) but target allows only 2.
Para solucionarlo tendremos que añadir más tipos, de la siguiente manera:
const temperatura:[number, string, number, string] = [20, "C", 23, "F"];
¿Qué pasaría si intentamos usar un push
en una tupla?
¿Debería dar un error no es verdad?
Pues no lo hace.
const temperatura:[number, string, number, string] = [20, "C", 23, "F"];
temperatura.push(30)
//salida: [20, "C", 23, "F", 30];
Este ejemplo es totalmente válido.
- Las tuplas son arreglos pero son datos específicos.
- Permiten crear arreglos con valores concretos y tipos exactos en cuanto a posiciones se refiere.
- Son más rápidos que los arreglos tradicionales.
24