Why does this not error:
interface Man {
name: string
}
interface Dog {
breed: string
}
type manDog = Man | Dog;
let x:manDog = {name:"test", breed:"9" }
{name:"test", breed:"9" }
is neither Man
nor a Dog
, isn't it?
and manDog
should be either Man
or Dog
, isn't it?
I read about structural typing but still don't understand why it doesn't error.
Can someone explain in a beginner friendly way?