인덱싱 패턴과 딕셔너리 패턴
안녕하세요. 오늘은 타입스크립트 카테고리에 올리기는 하지만 사실 타입스크립트에만 국한되는 개념이 아닌 인덱싱과 딕셔너리 패턴에 대해 정리해보겠습니다.
인덱싱 패턴과 딕셔너리 패턴 특징 및 차이점
- 두 패턴 모두 타입스크립트에만 국한되는 개념이 아니다
- 차이점으로는 접근 방식에서 있다.
- 또한 각각 데이터 구조가 다르다.
근데 내 생각엔 걍 비슷한 것 같다 ㅠ 모가몬지
🔵 인덱싱 패턴
- '배열'을 기반으로 데이터를 저장한다.
- 인덱스를 사용하여 각 요소에 접근한다.
- 즉, 순서가 있는 컬렉션
(1) 인터페이스 정의
interface Indexing {
[index: number]: string;
}
- number타입의 index와 string을 반환하는 인터페이스
(2) 해당 인터페이스 타입의 배열 정의
var arr: Indexing = ['a', 'b', 'c'];
(3) index와 타입을 확인해보자
// arr[0] = 10; → number 타입이라 에러
// arr['a'] = '10'; → index가 string 타입이라 에러
arr[0] = 'd'; → OK
🔵 딕셔너리 패턴
- 키&값 구조로 '객체'를 기반으로 데이터 저장
마치 사전 ..
(1) 인터페이스 정의
interface Dictionary {
[key: string]: string;
}
- string 타입의 key와 string을 반환
(2) 해당 타입의 객체 정의
var obj: Dictionary = {
//sth: 1, ==> 에러
//sth: true, ==> 에러
sth: 'A',
}
- 다른 타입을 넣으면 에러
(3) key와 타입을 확인함
// obj['sth'] = 10; ==> 에러
obj['sth'] = 'a';
흠 솔직히 .. 그냥 별 생각 안하고 잘 사용했을 것 같은데 거창하게 어쩌구 패턴 이러면 뭔가 어렵게 느껴지고 그런다...ㅠ
뭔가 그렇다고 그냥 무시하기엔 안될 것 같아서 정리했다.
참고 강의 : https://taylog.tistory.com/217
'🧠 저장 > Typescript' 카테고리의 다른 글
타입스크립트 타입추론, 타입단언, 타입가드, 타입호환 개념 정리 (0) | 2024.03.18 |
---|---|
타입스크립트 제네릭 선언, 타입제한 간단 정리 (0) | 2024.03.15 |
타입스크립트 연산자, 이넘, 클래스 활용방법 간단 정리 (0) | 2024.03.12 |
타입스크립트 인터페이스와 타입별칭 특징과 차이점 (0) | 2024.03.06 |
타입스크립트 특징, 사용하는 이유, 타입별 간단한 선언 방법 (0) | 2024.03.03 |