즉, earth도 string | { type: string, parent: string } 타입으로 인식하고 있는 것이죠. 다시 처음으로 돌아가봅시다.
const universe = {
sun: "star",
sriius: "star", // sirius 오타
earth: { type: "planet", parent: "sun" },
};
/*
const universe: {
sun: string;
sriius: string;
earth: {
type: string;
parent: string;
};
}
*/
처음에 universe 변수를 이렇게 선언하면 sun, sriius, earth의 값 타입이 각각 문자열, 문자열, 객체로 정확하게 추론됩니다.