생성자 내부에 할당 없이 멤버로만 선언하면 생성자 안에서 할당되지 않았다는 에러가 발생하고, 멤버를 선언하지 않고 생성자에서만 만들면 해당 속성이 클래스 안에 없다고 에러가 발생합니다.

    조금 더 엄격하게, 클래스의 멤버가 제대로 들어 있는지 검사할 수 있습니다. 인터페이스와 함께 implements 예약어를 사용하면 됩니다.

    interface Human {
      name: string;
      age: number;
      married: boolean;
      sayName(): void;
    }
    class Person implements Human {
      name;
      age;
      married;
      constructor(name: string, age: number, married: boolean) {
        this.name = name;
        this.age = age;
        this.married = married;
      }
    }
    // Class 'Person' incorrectly implements interface 'Human'. Property 'sayName' is missing in type 'Person' but required in type 'Human'.
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.