인프런 커뮤니티 질문&답변

frenchkebab님의 프로필 이미지
frenchkebab

작성한 질문수

[코드팩토리] [초급] 8시간만에 끝내는 코드팩토리의 Typescript 완전정복 풀코스

Generic in Function (함수에서 제너릭 사용하기)

instantiator 질문

작성

·

76

0

function instantiator<T extends { new (...args: any[]): {} }>(constructor: T, ...args: any) {
  return new constructor(...args);
}

console.log(instantiator(Idol, '아이유', 23));
console.log(instantiator(Car, 'BMW', 'M3'));

여기에서 instantiator의 parameter에서의 constructor parameter 변수는,

 

사실상 생성자의 의미보다는 class 정의 자체(T의 형식을 가진) 를 넘겨준다고 봐도 되는건가요?

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

constructor는 T 타입이 맞습니다.

그리고 T 타입은 new 키워드로 생성 가능한 객체를 상속받기 때문에 클래스가 될 수 있습니다.

class 정의 자체를 넘겨준다는건 어떤 뜻인지 제가 이해를 잘 못했습니다.

감사합니다!

frenchkebab님의 프로필 이미지
frenchkebab

작성한 질문수

질문하기