인덱스 타입이란?
- 객체 타입을 지정할 때 객체의 프로퍼티를 동적으로 선언 할 수 있도록 한다.
- 만약 생성될 객체가 정확한 프로퍼티를 예상할 수 없을 때 인덱스 타입을 쓸 수 있다.
interface ErrorContainer {
[prop: string]: string
}
- ErrorContainer가 타입으로 지정된 객체의 모든 프로퍼티는 문자열이어야 하고 값도 문자열이어야 한다.
- 위의 룰을 지키면 몇개의 프로퍼티가 추가되도 상관없다.
const errorBag: ErrorContainer = {
email: 'Not a valid Number'
id : 1234
//id의 값이 number이므로 에러 발생
}