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
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.