← Back to NOTES 🌰 ← Back to Effective TypeScript
타입스크립트는 객체 리터럴을 변수에 할당하거나 함수에 매개변수로 전달할 때 잉여 속성 체크를 수행하여 선언되지 않은 속성을 감지한다. 하지만 잉여 속성 체크는 구조적 타이핑과는 별도의 과정이며, 객체 리터럴이 아닌 경우나 임시 변수를 사용하는 경우에는 동작하지 않는다는 한계가 있다.
객체 리터럴 할당 시 타입스크립트는 다음 사항을 확인한다:
잉여 속성 체크를 통해 오류를 검출하지만, 조건에 따라 동작하지 않아 구조적 타이핑과 혼란을 야기할 수 있다.
구조적 타이핑 관점에서는 잉여 속성이 있어도 오류가 발생하지 않아야 하지만, 잉여 속성 체크는 이를 방지한다.
잉여 속성 체크와 할당 가능 검사는 별도의 과정이라는 것을 이해해야 한다.
동작하는 경우:
동작하지 않는 경우: