object shape
인터페이스는 객체의 모양과 사용 약속을 드러낸다
객체 타입을 설계할 때는 필수 필드, 선택 필드, 읽기 전용 값, 메서드 계약을 분리해 읽습니다.
shape
필수 모양
객체가 반드시 가져야 하는 필드를 이름과 타입으로 고정합니다.
optional
선택 필드
없을 수 있는 값은 물음표로 표시하고 사용 전 분기를 만듭니다.
readonly
읽기 전용
생성 후 바뀌면 안 되는 식별자나 설정값은 readonly로 의도를 남깁니다.
method
메서드 계약
객체가 수행할 동작은 매개변수와 반환 타입까지 함께 표시합니다.
객체 인터페이스 계약 설계
값의 구조가 먼저 보이면 interface로 객체의 사용 약속을 이름
붙입니다.
optional·readonly 필드 규칙
선택 필드는 접근 전 확인하고 readonly 필드는 재할당 시도를
막습니다.
선언 병합 확장
비슷한 객체가 늘어나면 extends로 공통 모양을 분리합니다.