요약
내용
- 인덱스 시그니처(Index Signature)는 객체의 속성이 동적으로 정해질 때, 객체의 속성 이름이 사전에 고정되어 있지 않을 때 사용된다. 이를 통해 객체가 특정 타입의 값들을 포함하도록 타입을 정의할 수 있다.
[key: string]: string;
는 인덱스 시그니처로 객체의 키와 값이 문자열임을 나타낸다.
- 주의점
- 정적 속성과 혼용하면 호환되지 않을 수 있다.
- Config의
server: string
으로 인덱스 시그니처에 호환되므로 정상 동작을 한다.
- Config의
- 제한된 타입을 사용한다. 복잡한 타입을 사용하면 타입 시스템의 이점을 잃어버린다.
- 많은 동적 속성을 사용하는 경우 성능에 영향을 줄 수 있다.
- 정적 속성과 혼용하면 호환되지 않을 수 있다.
참고
- 이펙티브 타입스크립트