프로그래밍/typescsript
타입스크립트의 인덱싱
한코코
2022. 11. 23. 14:19
인덱싱이란?
여태껏 알아온 인덱싱은 데이터베이스에서 사용하는 개념이라 같은 개념인건가 궁금했다.
데이터베이스에서 원하는 데이터를 빨리 찾기 위해 튜플의 키 값에 대한 물리적 위치를 기록해든 자료구조-라고하는데, 간단하게 말하자면 테이블에 대한 동작 속도를 높여주는 자료구조 라고 생각하면 될듯하다. (색인, 목차를 생성하는 개념)
타입크립트의 인덱싱 타입
그런데 사용하는 모양을 보아하니 배열의 인덱스 각각에게 주는 타입을 인덱싱 타입이라고 하나보다.
interface StringArray {
[index: number]: string;
}
const arr: StringArray = ['Thor', 'Hulk'];
arr[0]; // 'Thor'
배열의 요소를 변경하지 못하게 제한하려면 readonly를 주면 된다.
interface ReadonlyStringArray {
readonly [index: number]: string;
}
const arr: ReadonlyStringArray = ['Thor', 'Hulk'];
arr[2] = 'Capt'; // Error!
참고 사이트 : 공식 타입스크립트 핸드북