📎아이템 32 유니온의 인터페이스보다는 인터페이스의 유니온을 사용하기
📍예시
🔗 벡터를 그리는 프로그램, 기하학적 타입을 가지는 계층의 인터페이스
interface Layer {
layout: FillLayout | LineLayout | PointLayout; // 모양이 그려지는 방법과 위치를 제어
paint: FillPaint | LinePaint | PointPaint; // 스타일 제어
}⭐️ 각각 타입의 계층을 분리된 인터페이스로 모델링
interface FillLayer {
layout: FillLayout;
paint: FillPaint;
}
interface LineLayer {
layout: LineLayout;
paint: LinePaint;
}
interface PointLayer {
layout: PointLayout;
paint: PointPaint;
}
type Layer = FillLayer | LineLayer | PointLayer;⭐️ Layer를 인터페이스의 유니온으로 변환하자.
🔗 선택적 필드, 동시에 값이 있거나, 동시에 undefined
undefined📍 요약
Last updated