Explica este código TypeScript
Dificultad: Intermedio
¿Que hay de malo con este código?
type Id = number | string
type Size = "small" | "medium" | "big"
interface Dog {
id: Id;
name: string;
age: number;
}
interface Dog {
id: Id;
name: string;
age: number;
color: string;
size: Size;
}
const cooker:Dog = { // este objeto esta bien o no?
id: 1,
name: "boby",
age: 2,
}
console.log(cooker)
- A.
Imprime cooker por consola sin ningún error
- B.
Imprime cooker por consola pero con una advertencia
- C.
Error, no imprime nada
- D.
Ninguna de las anteriores
✅ B. Pese a que hay más similitudes que diferencias entre un Como vemos tenemos dos interfaces 1ra diferencia: 2da diferencia:Respuesta
Imprime cooker por consola pero con una advertencia
type
y una interface
, este ejemplo esta bueno para ver justamente eso, sus diferencias.Dog
, podras pensar que esto puede dar un error, pero no es así:
Podemos crear interfaces con el mismo nombre sin errores, de hecho la 2da interfaz Dog
sobre escribe a la primera, siendo esta la que debemos usar.
Esto no es posible hacerlo con types
, no podemos tener dos types
con el mismo nombre.cooker
se imprime efectivamente, pero tenemos la advertencia de que no esta completo, faltan las propiedades color
y size
.
Las interfaces estan hechas para ser usadas con clases o para crear objetos, mientras que los types
son más útiles para tipos primitivos.
Pueden ver el último reto acá:
Top comments (0)