DEV Community

Cover image for Paracetamol.ts💊| #44: Explica este código TypeScript
Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.ts💊| #44: Explica este código TypeScript

Explica este código TypeScript

Dificultad: Básico

const arr1 = [1, 2, 3];
const arr2 = ["hola", "mundo"];

const result = [...arr1, ...arr2];
// ¿Cuál es la anotación de tipo de result?
Enter fullscreen mode Exit fullscreen mode
  • A. string[]
  • B. number[]
  • C. array[]
  • D. (string | number)[]

Respuesta

✅ D. (string | number)[]

Cuando usamos el Spread Operator en TypeScript la anotación de tipo resultante será la unión de tipos de todos los elementos de ambos arreglos. En este caso la unión entre cadenas y números de ambos arreglos.


Top comments (1)

Collapse
 
aperezl profile image
Antonio Manuel Pérez López • Edited

Me la juego. Estás haciendo una declaración implicta de tipos (un array de number y un array de strings). Como no has definido un tipo, TS entiende que estás mezclando dos tipos con spread, por lo que el linter asume que sabes que estás mezclando (string | number)[].