더북(TheBook)

먼저 인터페이스를 하나 선언하고, 클래스가 그 인터페이스를 implements합니다. Person 클래스는 Human 인터페이스를 implements했으나 Human 인터페이스의 sayName 메서드를 구현하지 않았으므로 에러가 발생합니다.

타입스크립트는 생성자 함수 방식으로 객체를 만드는 것을 지원하지 않습니다.

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;
}
new Person('zero', 28, false);
// 'new' expression, whose target lacks a construct signature, implicitly has an 'any' type.

따라서 클래스가 new를 붙여 호출할 수 있는 유일한 객체라고 볼 수 있습니다.

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