๐ Map
1. ํค-๊ฐ ์์ ์ ์ฅํ๋ฉฐ, ํค๋ ์ค์ง ๋จ ํ๋๋ง ์กด์ฌํ๋ค.
2. ํค ๊ฐ์ ๋ชจ๋ ๊ฐ(๊ฐ์ฒด์ ์์ ๊ฐ)์ ํค๋ก ์ฌ์ฉํ ์ ์๋ค.
3. ํค์ ๊ฐ์ ์ฝ์ ์์๋ฅผ ๊ธฐ์ตํ๋ค.
Map ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
// Map(1) {'a' => 1}
const map1 = new Map();
map1.set('a', 1);
// Map(2) {'a' => 1, 'b' => 2}
const map2 = new Map([
['a', 1],
['b', 2],
]);
Map๊ณผ Object์ ์ฐจ์ด์
Map | Obejct | |
ํค ํ์ | ๋ชจ๋ ๊ฐ(๊ฐ์ฒด์ ์์๊ฐ) | ๋ฌธ์์ด ๋๋ ์ฌ๋ณผ |
ํค ์์ | ์ฝ์ ์์ ๊ธฐ์ต | ์ฝ์ ๋ ์์์ ๋ค๋ฅผ ์ ์์ |
์ดํฐ๋ฌ๋ธ | O | X |
์ดํฐ๋ฌ๋ธ(iterable)
์ํ ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ๋ปํ๋ฉฐ, for..of, ์คํ๋ ๋ ๋ฌธ๋ฒ, ๊ตฌ์กฐ๋ถํด ํ ๋น์ ์ฌ์ฉํ ์ ์๋ค.

๐ Set
1. ์ค๋ณต๋์ง ์๋ ๊ฐ๋ค์ ์งํฉ
2. ์์๋ฅผ ์ฝ์ ์์๋๋ก ์ํ
Set ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
// Set(1) {'a'}
const set1 = new Set();
set1.add('a');
// Set(2) {'a', 'b'}
const set2 = new Set(['a', 'b']);
Set๊ณผ ๋ฐฐ์ด์ ์ฐจ์ด์
Set | ๋ฐฐ์ด | |
์ค๋ณต ์์ | X | O |
์ธ๋ฑ์ค ์ ๊ทผ | X | O |
๐งท ์ฐธ๊ณ
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set
๐ Map
1. ํค-๊ฐ ์์ ์ ์ฅํ๋ฉฐ, ํค๋ ์ค์ง ๋จ ํ๋๋ง ์กด์ฌํ๋ค.
2. ํค ๊ฐ์ ๋ชจ๋ ๊ฐ(๊ฐ์ฒด์ ์์ ๊ฐ)์ ํค๋ก ์ฌ์ฉํ ์ ์๋ค.
3. ํค์ ๊ฐ์ ์ฝ์ ์์๋ฅผ ๊ธฐ์ตํ๋ค.
Map ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
// Map(1) {'a' => 1}
const map1 = new Map();
map1.set('a', 1);
// Map(2) {'a' => 1, 'b' => 2}
const map2 = new Map([
['a', 1],
['b', 2],
]);
Map๊ณผ Object์ ์ฐจ์ด์
Map | Obejct | |
ํค ํ์ | ๋ชจ๋ ๊ฐ(๊ฐ์ฒด์ ์์๊ฐ) | ๋ฌธ์์ด ๋๋ ์ฌ๋ณผ |
ํค ์์ | ์ฝ์ ์์ ๊ธฐ์ต | ์ฝ์ ๋ ์์์ ๋ค๋ฅผ ์ ์์ |
์ดํฐ๋ฌ๋ธ | O | X |
์ดํฐ๋ฌ๋ธ(iterable)
์ํ ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ๋ปํ๋ฉฐ, for..of, ์คํ๋ ๋ ๋ฌธ๋ฒ, ๊ตฌ์กฐ๋ถํด ํ ๋น์ ์ฌ์ฉํ ์ ์๋ค.

๐ Set
1. ์ค๋ณต๋์ง ์๋ ๊ฐ๋ค์ ์งํฉ
2. ์์๋ฅผ ์ฝ์ ์์๋๋ก ์ํ
Set ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
// Set(1) {'a'}
const set1 = new Set();
set1.add('a');
// Set(2) {'a', 'b'}
const set2 = new Set(['a', 'b']);
Set๊ณผ ๋ฐฐ์ด์ ์ฐจ์ด์
Set | ๋ฐฐ์ด | |
์ค๋ณต ์์ | X | O |
์ธ๋ฑ์ค ์ ๊ทผ | X | O |
๐งท ์ฐธ๊ณ
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set