더북(TheBook)

타입 매개변수에는 기본값(default)을 사용할 수 있습니다.

interface Person<N = string, A = number> {
  type: 'human',
  race: 'yellow',
  name: N,
  age: A,  
}
type Person1 = Person;
// type Person1 = Person<string, number>
type Person2 = Person<number>;
// type Person2 = Person<number, number>
type Person3 = Person<number, boolean>;
// type Person3 = Person<number, boolean>

타입 매개변수 NA를 보면 = 연산자를 사용해서 각각 string, number 타입이 대입되어 있습니다. 타입 인수로 NA 자리에 타입을 제공하지 않으면 각각의 타입 매개변수는 기본값 타입이 됩니다.

Person1에서 N의 타입은 string, A의 타입은 number입니다. 어디까지나 기본값이므로 다른 타입을 명시적으로 넣었다면 그 타입이 됩니다. Person2에서는 N 자리에 number 타입을 넣었으므로 N의 타입은 number입니다. A는 타입을 제공하지 않았으므로 기본값인 number가 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.