πŸ“šΒ Reference


πŸ“œ Chapter


WeakSet

Array.from()

Map

Expressions & Operators

Loops and iteration (for λ¬Έ)

SameValueZero

Set


μžλ£Œν˜•λ³„ λ™μž‘ 원리


μžλ£Œν˜• μ˜ˆμ‹œ κ²°κ³Ό μ„€λͺ…
λ¬Έμžμ—΄ (String) new Set('abc') {'a', 'b', 'c'} λ¬Έμžμ—΄μ€ iterable β†’ 문자 λ‹¨μœ„λ‘œ 뢄리
λ°°μ—΄ (Array) new Set([1, 2, 2, 3]) {1, 2, 3} 배열은 iterable β†’ 각 μš”μ†Œλ₯Ό 순회
쀑첩 λ°°μ—΄ (Array of Arrays) new Set([[1, 2], [1, 2]]) { [1, 2], [1, 2] } λ‚΄λΆ€ 배열은 μ„œλ‘œ λ‹€λ₯Έ μ°Έμ‘° β†’ λ‘˜ λ‹€ μ €μž₯됨
객체 (Object) new Set({ a: 1, b: 2 }) ❌ TypeError 일반 κ°μ²΄λŠ” iterable이 μ•„λ‹˜
Map new Set(new Map([['a', 1], ['b', 2]])) { ['a', 1], ['b', 2] } Map도 iterable β†’ [key, value] 쌍이 μš”μ†Œλ‘œ μ €μž₯
Set new Set(new Set([1, 2, 3])) {1, 2, 3} Set도 iterable β†’ 각 값이 κ·ΈλŒ€λ‘œ 듀어감
Number new Set(123) ❌ TypeError μˆ«μžλŠ” iterable μ•„λ‹˜
Boolean new Set(true) ❌ TypeError λΆˆλ¦¬μ–Έλ„ iterable μ•„λ‹˜
null / undefined new Set(null) ❌ TypeError iterable μ•„λ‹˜
ν•¨μˆ˜(Function) new Set(() => {}) ❌ TypeError ν•¨μˆ˜λ„ iterable μ•„λ‹˜
// λ¬Έμžμ—΄
new Set('hi'); 
// β†’ Set(2) { 'h', 'i' }

// λ°°μ—΄
new Set([1, 2, 3, 3]);
// β†’ Set(3) { 1, 2, 3 }

// Set μ•ˆμ— Set
new Set(new Set([1, 2]));
// β†’ Set(2) { 1, 2 }

// Map
new Set(new Map([['a', 1], ['b', 2]]));
// β†’ Set(2) { ['a', 1], ['b', 2] }

// κ°μ²΄λŠ” λΆˆκ°€
new Set({ a: 1 }); // ❌ TypeError: object is not iterable