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.
Sintaxis
const nombreVariable:[tipoDato1, tipoDato2, ...tipoDatoN] = [valor1, valor2, ... valorN];
Funcionamiento
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"];
Caso especial
¿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.
Conclusiones
  • 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.
  • Referencias

    33

    This website collects cookies to deliver better user experience

    Fundamentos de TypeScript 🦆| #4: Tuplas