더북(TheBook)
class Person<N, A> {
  name: N;
  age: A;
  constructor(name: N, age: A) {
    this.name = name;
    this.age = age;
  }
}

함수에서는 함수 선언문이냐 표현식이냐에 따라 제네릭 표기 위치가 다르므로 주의해야 합니다.

const personFactoryE = <N, A>(name: N, age: A) => ({
  type: 'human',
  race: 'yellow',
  name,
  age,
});

function personFactoryD<N, A>(name: N, age: A) {
  return ({
    type: 'human',
    race: 'yellow',
    name,
    age,
  })
};
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.