더북(TheBook)

앞서 클래스는 타입스크립트에서 값으로 쓰이면서 타입이 되기도 한다고 설명했습니다. 다만 타입으로 사용할 때 클래스의 이름은 클래스 자체의 타입이 아니라 인스턴스의 타입이 됩니다. 클래스 자체의 타입이 필요하다면 'typeof 클래스이름'으로 타이핑해야 합니다.

const person1: Person = new Person('zero', 28, false);
const P: typeof Person = Person;
const person2 = new P('nero', 32, true);

클래스 멤버로는 옵셔널이나 readonly뿐만 아니라 public, protected, private 수식어가 추가되었습니다.

class Parent {
  name?: string;
  readonly age: number;
  protected married: boolean;
  private value: number;
  constructor(name: string, age: number, married: boolean) {
    this.name = name;
    this.age = age;
    this.married = married;
    this.value = 0;
  }
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.