33
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
Si tuvieramos la tupla invertida tendrĂamos un error:
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
ÂżDeberĂa dar un error no es verdad?
Pues no lo hace.
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.
33