📎아이템 4 구조적 타이핑에 익숙해지기
📍 구조적 타이핑
interface Vector2D {
x: number;
y: number;
}
interface NamedVector {
name: string;
x: number;
y: number;
}
function calculateLength(v: Vector2D) {
return Math.sqrt(v.x ** 2 + v.y ** 2);
}
// NameVector는 number 타입의 x와 y 속성이 있기 때문에 calculateLength 함수로 호출 가능하다.
const v: NamedVector = { x: 3, y: 4, name: 'Pythagoras' };
calculateLength(v); // OK, result is 5구조적 타이핑의 단점
⭐️ 예시1
⭐️ 예시 2
구조적 타이핑의 장점
⭐️ 예시3 - 구조적 타이핑이 유리한 경우
📍 요약
Last updated