이 시점에서 객체 타입을 살펴보는 이유는 타입스크립트의 타입 시스템을 배울 때, 타입스크립
트가 객체 리터럴을 해석하는 방법을 이해하는 것이 매우 중요하기 때문입니다. 다음 장에서
살펴볼 타입스크립트의 특징에서도 중요한 개념이니 유념하세요.
4.2
구조적 타이핑구조적 타이핑
타입스크립트의 타입 시스템은
구조적으로 타입화구조적으로 타입화
structurally
typed
되어 있습니다. 즉, 타입을 충족하
는 모든 값을 해당 타입의 값으로 사용할 수 있습니다. 다시 말하자면 매개변수나 변수가 특정
객체 타입으로 선언되면 타입스크립트에 어떤 객체를 사용하든 해당 속성이 있어야 한다고 말
해야 합니다.
다음 별칭 객체 타입인
WithFirstName
과
WithLastName
은 오직
string
타입의 단일 멤버만
선언합니다.
hasBoth
변수는 명시적으로 선언되지 않았음에도 두 개의 별칭 객체 타입을 모두
가지므로 두 개의 별칭 객체 타입 내에 선언된 변수를 모두 제공할 수 있습니다.
type WithFirstName = {
firstName: string;
};
type WithLastName = {
lastName: string;
};
const hasBoth = {
firstName: "Lucille",
lastName: "Clifton",
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.