JavaScript에는 배열, Set, Map라는 3개의 주요 이터러블 데이터 구조가 있습니다.
하나씩 정리해보도록 하겠습니다.
배열
JavScript의 주요 이터러블 중 가장 중요한 것은 가장 자주 작업하게 되는 구조인 배열입니다.
데이터의 목록 또는 연결된 데이터를 저장할 때 주로 배열에 저장합니다.
배열은 중첩 데이터를 가질 수 있는데 어떤 타입, 길이든 저장이 가능합니다.
주요 특징으로는 많은 특수한 메서드들이 사용 가능하며 요소의 순서가 보장된다는 것입니다.
즉 순서가 갑자기 바뀌지 않고 중복도 허용됩니다.
(예를 들어, 배열에 같은 숫자가 2개가 들어갈 수 있습니다.)
또한 0부터 시작하는 인덱스를 사용하여 요소에 접근도 가능합니다.
Set
Set은 데이터 구조로 어떤 길이의 중첩 데이터도 저장 가능합니다.
배열의 Set, 숫자의 Set 등 다양한 것의 Set를 가질 수 있습니다.
모든 배열 메서드를 사용할 순 없지만 대신 Set 메서드가 따로 있는 이터러블입니다.
Set 메서드는 대부분 Set에서 데이터를 관리하는 용도입니다.
Set의 주요 특징은 요소의 순서가 보장되지 않으며 중복이 허용되지 않는다는 점입니다.
이 특징은 나쁘게 들릴 수 있지만 특정 상황에는 요소의 순서가 중요하지 않을 수도 있기 때문에 데이터를 저장할 때 순서가 보장되지 않아도 되거나 중복을 원하지 않을 때 사용됩니다.
(예를 들어 ID와 같은 값과 같이 중복을 원하지 않는 경우에 사용됩니다.)
또한 인덱스 기반으로 접근하지 않지만 찾고자 하는 특정 값에 접근을 허용합니다.
Set - JavaScript | MDN
Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다.
developer.mozilla.org
Map
Map는 데이터 구조로 키-값 데이터가 어떤 길이던지 저장이 가능합니다.
객체와 비슷하지만 차이점은 객체는 오직 문자열 또는 숫자만을 키 또는 심볼형으로 가질 수 있지만, Map에서는 키로 아무거나 사용할 수 있습니다.
키로 배열을 가질 수도 있고 또 다른 객체를 가질 수 도 있기 때문에 객체보다 훨씬 유연합니다
Map는 Map 메서드를 사용하는 이터러블로 배열 메서드를 사용하지 않습니다.
Set와 마찬가지로 Map 메서드를 사용하는 이유는 Map에 있는 항목을 관리하기 위해서입니다.
주요 특징으로는 순서는 보장되고 중복 키가 허용되며 키로 값에 접근합니다.
Map - JavaScript | MDN
The Map object holds key-value pairs and remembers the original insertion order of the keys. Any value (both objects and primitive values) may be used as either a key or a value.
developer.mozilla.org
'JavaScript' 카테고리의 다른 글
Map (0) | 2022.09.11 |
---|---|
Set (0) | 2022.09.10 |
배열 구조 분해(비구조화할당) (2) | 2022.09.10 |
Spread Operator - 전개 연산자 (0) | 2022.09.10 |
split()와 join() (0) | 2022.09.10 |