JavaScript

Map๊ณผ Set ์ž๋ฃŒ๊ตฌ์กฐ

presentKey 2024. 6. 13. 19:22

๐ŸŽ 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, ์Šคํ”„๋ ˆ๋“œ ๋ฌธ๋ฒ•, ๊ตฌ์กฐ๋ถ„ํ•ด ํ• ๋‹น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Map์€ ์ดํ„ฐ๋Ÿฌ๋ธ”ํ•˜๋‹ค.

 

๐ŸŽ 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