해당 인터페이스는 new를 붙여 호출할 수 있습니다.

    이를 활용해 타입스크립트에서도 생성자 함수를 사용할 수 있습니다.

    interface PersonInterface {
      name: string;
      age: number;
      married: boolean;
    }
    function Person(this: PersonInterface, name: string, age: number, married: boolean) {
      this.name = name;
      this.age = age;
      this.married = married;
    }
    type PersonType = typeof Person & { 
      new (name: string, age: number, married: boolean): PersonInterface
    }
    new (Person as PersonType)('zero', 28, false);
    

    다만 클래스가 있는데 굳이 이러한 방식으로 코딩할 이유는 없지요.

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