38
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.
38