← Back to NOTES 🌰
← Back to Effective TypeScript
← 아이템 14 - 타입 연산과 제너릭 사용으로 반복 줄이기
핵심 요약
인덱스 시그니처는 런타임까지 객체의 속성을 알 수 없을 때만 사용해야 한다. 정적인 데이터에는 인터페이스를 사용하고, 동적 데이터(CSV 파일 등)에만 인덱스 시그니처를 사용하는 것이 안전하다. 가능하다면 Record, 매핑된 타입 같은 정확한 타입을 사용하는 것이 좋다.
자세한 내용
인덱스 시그니처
문자열 키를 타입의 값에 관계없이 유연하게 매핑할 때 사용한다.
구성 요소:
- 키의 이름: 키의 위치만 표시 (타입 체킹에 영향 없음)
- 키의 타입: string, number, symbol의 조합 (보통 string)
- 값의 타입: 어떤 값이든 지정 가능
인덱스 시그니처의 단점
- 잘못된 키를 포함하여 모든 키를 허용
- 특정 키가 필요하지 않음 (빈 객체도 유효)
- 키마다 다른 타입을 가질 수 없음
- 자동완성 기능을 사용할 수 없음
적절한 사용 시기
- CSV 파일처럼 런타임까지 키를 알 수 없는 동적 데이터
- 연관 배열의 경우 Map 타입 사용 고려