해당 인터페이스는 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);
다만 클래스가 있는데 굳이 이러한 방식으로 코딩할 이유는 없지요.