더북(TheBook)

2.13절에서 배운 브랜드 속성을 사용하면 객체의 구분이 쉬워집니다.

interface Money {
  __type: 'money';
  amount: number;
  unit: string;
}

interface Liter {
  __type: 'liter';
  amount: number;
  unit: string;
}

function moneyOrLiter(param: Money | Liter) {
  if (param.__type === 'money') {
    param;
  } else {
    param;
  }
}
// (parameter) param: Money
// (parameter) param: Liter
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.