Skip to content

Latest commit

Β 

History

History
10 lines (8 loc) Β· 787 Bytes

map-vs-object.md

File metadata and controls

10 lines (8 loc) Β· 787 Bytes

JavaScript μ—μ„œλŠ” Objectκ°€ μžˆλŠ”λ° μ™œ ꡳ이 Map 을 λ§Œλ“€μ—ˆμ„κΉŒ?

해쉬맡같은 μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš© ν•  λ•Œ ν—·κ°ˆλ¦¬κ³€ ν•˜μ§€ μ•ŠλŠ”κ°€? Map 을 μ‚¬μš©ν•΄μ•Όν•΄..Object λ₯Ό μ‚¬μš©ν•΄μ•Όν•΄?
λ‘˜λ‹€ key-value ν˜•νƒœλ‘œ 값을 μ €μž₯ν•˜κ³  읽을 수 μžˆλŠ” λ™μž‘μ„ ν•œλ‹€.
그럼 μ™œ ꡳ이 μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” map 을 μ§€μ›ν•œκ±ΈκΉŒ?

  1. κ°μ²΄μ—μ„œ key λŠ” 무쑰건 string μ΄μ–΄μ•Όν•˜μ§€λ§Œ map μ—μ„œλŠ” 아무 νƒ€μž…μ΄λ‚˜ λͺ¨λ‘ κ°€λŠ₯ν•˜λ‹€.
  2. Map은 크기λ₯Ό μ‰½κ²Œ ꡬ할 수 μžˆλ‹€. 반면 객체의 경우 크기λ₯Ό κ³„μ‚°ν•΄μ•Όν•œλ‹€.
  3. Map은 Iterable ν•˜λ‹€. λ”°λΌμ„œ for-of 와 같은 μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€.
  4. κ°μ²΄λŠ” ν”„λ‘œν† νƒ€μž…μ„ μƒμ†λ°›μ•„μ„œ κΈ°λ³Έ ν‚€κ°€ μ§€μ •λ˜μ–΄ μžˆλ‹€. obj['valueOf'], obj['toString']