Explica este código TypeScript
Dificultad: Intermedio
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 explicitamente 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:
`js
const temperatura:[number, string] = [25, "C"];
`
Ahora si temperatura es una tupla de dos valores y si es asignable a la variable tupla.