잉여 속성 체크: TypeScript는 객체 리터럴이 할당될 때 해당 타입의 기대되는 속성만을 가지고 있어야 한다고 체크
TypeScript에서는 객체 리터럴을 직접 대입할 때 잉여 속성 체크를 수행한다.
구조적 타이핑으로 이건 오류가 안 난다.
임시 변수(minsu)를 통해 잉여 속성 체크를 우회하는 방법
또는 타입 단언을 쓸 수도 있다.
interface Person {
name: string;
age: number;
}
const minsu: Person = {
name: "minsu",
age: 25,
gender: "male", // 개체 리터럴은 알려진 속성만 지정할 수 있으며 'Person' 형식에 'gender'이(가) 없습니다.ts(2353)
};
interface Person {
name: string;
age: number;
}
const minsu = {
name: "minsu",
age: 25,
gender: "male",
};
const person1: Person = minsu;
const person: Person = {
name: "Alice",
age: 25,
salary: 50000 // 이 속성은 'Person' 인터페이스에 없습니다.
} as Person;