더북(TheBook)

일반 함수와 비슷하게 타입 선언을 여러 번 하면 됩니다. 다만 함수의 구현부는 한 번만 나와야 하고, 그 구현부에서 여러 번 타입 선언한 것들에 대해 모두 대응할 수 있어야 합니다. constructor(), constructor(name: string, married: boolean), constructor(name: string, age: number, married: boolean)에 대응하기 위해 구현부가 조금 복잡해졌습니다.

클래스의 속성에도 인덱스 시그니처를 사용할 수 있습니다.

class Signature {
  [propName: string]: string | number | undefined;
  static [propName: string]: boolean;
}

const sig = new Signature();
sig.hello = 'world';
Signature.isGood = true;

static 속성에도 인덱스 시그니처가 가능하여 속성을 자유롭게 추가할 수 있습니다.

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