검사할 객체 값
const user = {
name: "영희",
age: 22,
id: "U-17"
};
값의 속성과 대상 계약을 나란히 놓고, 필요한 키와 각 값의 타입이 맞는지 검사한다.
const user = {
name: "영희",
age: 22,
id: "U-17"
};
interface Person {
name: string;
age: number;
isStudent?: boolean;
readonly id: string;
}
name · age · id가 모두 있는가?선택 속성 읽기isStudent는 없을 수 있어 undefined 분기가 필요하다.
읽기 전용 쓰기id는 계약을 통과한 뒤 그 타입을 통해 재할당할 수 없다.
결과 필수 모양이 맞으면 user를 Person으로 사용할 수 있다.