배열은 여기저기 어디에나 등장하는데, 배열에 이터러블(iterable)이 내장되어 있기 때문입니다.2 이터러블은 간단히 말해 컬렉션의 현재 위치를 알고 있는 상태에서 컬렉션의 항목을 한 번에 하나씩 처리하는 방법입니다. 문자열처럼 자체적으로 이터러블이 존재하거나 Object.keys()
처럼 이터러블로 변환할 수 있는 데이터 형식이라면 배열에 수행하는 모든 동작(순회하면서 하는 작업)을 동일하게 실행할 수 있습니다.
펼침 연산자로 새로운 배열을 생성하는 방법을 알고 있다면 펼침 연산자를 이용해서 맵도 생성할 수 있습니다. 맵에도 내장 이터러블이 있기 때문입니다. 이에 대해서는 TIP 7 펼침 연산자로 배열을 본떠라와 TIP 14 맵과 펼침 연산자로 키-값 데이터를 순회하라에서 각각 살펴보겠습니다.
또한, 컬렉션 개념의 거의 대부분을 배열 형태로 표현할 수 있습니다. 즉, 배열을 특별한 컬렉션으로 쉽게 변환하거나 다시 배열로 만들 수 있습니다. 다음 예제와 같은 키-값 저장소(key-value store)의 경우를 생각해봅시다.
arrays/arrays/arrays.js
const dog = {
name: 'Don',
color: 'black',
};
dog.name;
// Don