[Deep Dive] Setκ³Ό Map

link717Β·2022λ…„ 1μ›” 10일
0

Deep Dive

λͺ©λ‘ 보기
15/28
post-thumbnail

🌼 37.1 Set

Set κ°μ²΄λŠ” μ€‘λ³΅λ˜μ§€ μ•ŠλŠ” μœ μΌν•œ κ°’λ“€μ˜ μ§‘ν•©λ‹ˆλ‹€. Set κ°μ²΄λŠ” λ°°μ—΄κ³Ό μœ μ‚¬ν•˜μ§€λ§Œ λ‹€μŒκ³Ό 같은 차이가 μžˆλ‹€. μ΄λŸ¬ν•œ Set 객체의 νŠΉμ„±μ€ μˆ˜ν•™μ  μ§‘ν•©μ˜ νŠΉμ„±κ³Ό μΌμΉ˜ν•œλ‹€. Set은 μˆ˜ν•™μ  집합을 κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ μžλ£Œκ΅¬μ‘°λ‹€. λ”°λΌμ„œ Set을 톡해 ꡐ집합, 합집합, 차집합, 여집합 등을 κ΅¬ν˜„ν•  수 μžˆλ‹€.

Set μƒμ„±μž ν•¨μˆ˜λŠ” μ΄ν„°λŸ¬λΈ”μ„ 인수둜 전달받아 Set 객체λ₯Ό μƒμ„±ν•œλ‹€. μ΄λ•Œ μ΄ν„°λŸ¬λΈ”μ˜ μ€‘λ³΅λœ 값은 Set 객체에 μš”μ†Œλ‘œ μ €μž₯λ˜μ§€ μ•ŠλŠ”λ‹€.

🌼 37.1.1 - 37.1.6 Set λ‚΄μž₯ ν•¨μˆ˜

  • Set.prototype.size: getter ν•¨μˆ˜λ§Œ μ‘΄μž¬ν•˜λŠ” μ ‘κ·Όμž ν”„λ‘œνΌν‹°λ‘œ Set 객체의 μš”μ†Œμ˜ 개수λ₯Ό 확인할 λ•Œ μ‚¬μš©ν•œλ‹€.

  • Set.prototype.add: Set 객체에 μš”μ†Œλ₯Ό μΆ”κ°€ν•  λ•Œ μ‚¬μš©ν•œλ‹€. add λ©”μ„œλ“œλŠ” μƒˆλ‘œμš΄ μš”μ†Œκ°€ μΆ”κ°€λœ Set 객체λ₯Ό λ°˜ν™˜ν•˜λ©° λ©”μ„œλ“œλ₯Ό μ—°μ†μ μœΌλ‘œ ν˜ΈμΆœν•  수 μžˆλ‹€. μ€‘λ³΅λœ μš”μ†Œμ˜ μΆ”κ°€λ₯Ό μ‹œλ„ν•˜λ©΄ λ¬΄μ‹œλ˜λ©° μ—λŸ¬λŠ” λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€.

  • Set.prototype.has: has λ©”μ„œλ“œλŠ” νŠΉμ • μš”μ†Œμ˜ 쑴재 μ—¬λΆ€λ₯Ό ν™•μΈν•΄μ„œ boolean κ°’μœΌλ‘œ λ°˜ν™˜ν•œλ‹€.

  • Set.prototype.delete: Set 객체의 νŠΉμ • μš”μ†Œλ₯Ό μ‚­μ œν•  λ•Œ μ‚¬μš©ν•œ λ’€ μ‚­μ œ 성곡 μ—¬λΆ€λ₯Ό boolean κ°’μœΌλ‘œ λ°˜ν™˜ν•œλ‹€. μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” κ°’μ˜ μ‚­μ œλ₯Ό μ‹œλ„ν•  경우 λ¬΄μ‹œλ˜λ©° μ—λŸ¬λŠ” λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€. boolean 값을 λ°˜ν™˜ν•˜λ―€λ‘œ add λ©”μ„œλ“œμ™€ λ‹€λ₯΄κ²Œ μ—°μ†μ μœΌλ‘œ ν˜ΈμΆœν•  수 μ—†λ‹€.

  • Set.prototype.clear: Set 객체의 λͺ¨λ“  μš”μ†Œλ₯Ό 일괄 μ‚­μ œν•  λ•Œ μ‚¬μš©ν•˜λ©° μ–Έμ œλ‚˜ undefinedλ₯Ό λ°˜ν™˜ν•œλ‹€.

🌼 37.2 Map

Map κ°μ²΄λŠ” 킀와 κ°’μ˜ 쌍으둜 이루어진 μ»¬λ ‰μ…˜μ΄λ‹€. Map κ°μ²΄λŠ” 객체와 μœ μ‚¬ν•˜μ§€λ§Œ λ‹€μŒκ³Ό 같은 차이가 μžˆλ‹€.

Map μƒμ„±μž ν•¨μˆ˜λŠ” μ΄ν„°λŸ¬λΈ”μ„ 인수둜 전달받아 Map 객체λ₯Ό μƒμ„±ν•œλ‹€. μ΄λ•Œ 인수둜 μ „λ‹¬λ˜λŠ” μ΄ν„°λŸ¬λΈ”μ€ 킀와 κ°’μ˜ 쌍으둜 이루어진 μš”μ†Œλ‘œ κ΅¬μ„±λ˜μ–΄μ•Ό ν•œλ‹€.

const map1 = new Map([['key1', 'value1'], ['key2','value2']]);
// Map(2) {'key1' => 'value1', 'key2' => 'value2'}

🌼 37.2.3 μš”μ†Œ μΆ”κ°€

  • Map.prototype.set: Map 객체에 μš”μ†Œλ₯Ό μΆ”κ°€ν•  λ•Œ μ‚¬μš©ν•œλ‹€.

μš”μ†Œ μΆ”κ°€ λ©”μ„œλ“œ μ΄μ™Έμ˜ λ‹€λ₯Έ λ©”μ„œλ“œλŠ” Set 객체의 λ©”μ„œλ“œμ˜ 이름과 κΈ°λŠ₯이 λ™μΌν•˜μ—¬ μƒλž΅ν•œλ‹€.

profile
Turtle Never stop

0개의 λŒ“κΈ€