This content originally appeared on DEV Community and was authored by Cristian Fernando
Explica este cΓ³digo TypeScript
Dificultad: Intermedio
const temperatura = [25, "C"];
const tupla:[number, string] = temperatura;
- A.
No se puede asignar (number | string)[] a [number, string] - B.
No hay ningΓΊn error - C.
Syntax Error - D.
Ninguna de las anteriores
Respuesta
A. No se puede asignar (number | string)[] a [number, string]
La variable temperatura es un arreglo de numeros y cadenas, por ende puede aceptar cualquier cantidad de items siempre y cuando sean de estos tipos de datos, en nuestro ejemplo solo tienen 2 valores: 25 y "C" pero podrΓan tener mΓ‘s.
En cambio nuestra variable tupla es una tupla que explΓcitamente le indicamos que solo puede tener 2 items, el primero de tipo number y el segundo te tipo string en ese orden.
Por ello no se puede asignar (number | string)[] a [number, string] ya que el primero es un arreglo y el segundo es una tupla.
Para solucionar esto tenemos que declarar a temperatura como una tupla de manera explicita y no dejar que TypeScript infiera su tipo:
const temperatura:[number, string] = [25, "C"];
Ahora si temperatura es una tupla de dos valores y si es asignable a la variable tupla.
This content originally appeared on DEV Community and was authored by Cristian Fernando