초과 속성 검사
- 타입스크립트는 객체에 초과되거나 예상치 못한 프로퍼티가 있는지 검사한다.
- 예상보다 많은 프로퍼티가 있는 경우 오류를 포착하도록 설계됐다.
초과 프로퍼티 검사 예시
객체 리터럴
- 타입스크립트는 객체 리터럴의 초과 프로퍼티에 대해 가장 엄격하다.
interface Person {
name: string;
age: number;
}
// 에러: nationality 라는 초과 프로퍼티가 발견됐다.
let person: Person = {
name: "Alice",
age: 30,
nationality: "Canadian", // 초과 프로퍼티
};
초과 프로퍼티 검사가 느슨한 경우
변수 할당
- 변수 할당의 경우 초과 프로퍼티 검사에 느슨하다.
- 타입 Narrowing 이 되는 경우 할당이 가능하다.
- 그러나 필수 프로퍼티 ex)
name
과age
를 채우지 않는다면 역시 에러가 발생한다.
let person3 = {
name: "abc",
age: 10,
nationality: "Canadian",
};
// 에러가 나지 않고 정상적으로 할당된다.
let person4: Person = person3;
반응형
'Typescript' 카테고리의 다른 글
TS025. 타입스크립트 옵셔널 vs Type | Undefined 의 차이 (0) | 2023.12.30 |
---|---|
TS024. 타입스크립트 중첩된 오브젝트 사용 시 주의점 (Nested Object) (0) | 2023.12.30 |
TS022. 타입스크립트 튜플 정리 (0) | 2023.12.30 |
TS021. 타입스크립트 다차원 배열 (0) | 2023.12.30 |
TS020. 자바스크립트 배열의 문제점과 타입스크립트 배열의 특징 (0) | 2023.12.30 |