Object Types

인터페이스 확장은 공통 객체 계약을 겹쳐서 키운다

객체 리터럴 타입, 선택 속성, readonly, index signature는 데이터 모양을 안전하게 설명하는 도구다.

객체 계약 구조

shape typing

객체 리터럴

필요한 속성 이름과 타입을 직접 나열해 값의 모양을 고정한다.

인터페이스

재사용 가능한 객체 계약을 만들고 클래스나 객체가 따르게 한다.

확장

기존 인터페이스의 속성을 물려받아 더 구체적인 타입을 만든다.

객체 타입interfaceextends사용
객체 계약

TypeScript의 객체 타입은 클래스 상속보다 넓은 개념이다. 값이 필요한 모양을 만족하면 계약을 따른 것으로 본다.