Set 객체는 중복되지 않는 유일한 값들의 집합으로서, 수학적 집합을 구현하기 위한 자료구조이다.
요소 개수 확인 : Set.prototype.size 프로퍼티 이용
add 메서드는 연속적으로 호출 가능하다.
const set = new Set();
set.add(1).add(2);
console.log(set); // Set(2) {1, 2}
NaN === NaN은 다르다고 평가되지만, Set객체는 둘을 같다고 평가한다.(Map도 마찬가지)
const set = new Set();
console.log(NaN === NaN); // false
console.log(0 === -0); // true
// NaN과 NaN을 같다고 평가하여 중복 추가를 허용하지 않는다.
set.add(NaN).add(NaN);
console.log(set); // Set(1) {NaN}
// +0과 -0을 같다고 평가하여 중복 추가를 허용하지 않는다.
set.add(0).add(-0);
console.log(set); // Set(2) {NaN, 0}
Map 객체는 객체와 유사하지만, 이러터블이며 객체를 키로 둘 수도 있다.
단, 중복된 키를 갖는 요소가 있으면 값이 덮어써진다.
const map = new Map([['key1', 'value1'], ['key1', 'value2']]);
console.log(map); // Map(1) {"key1" => "value2"}
'Today I Learned' 카테고리의 다른 글
모던 자바스크립트 Deep Dive 39장 DOM (0) | 2022.05.14 |
---|---|
모던 자바스크립트 Deep Dive 38장 브라우저의 렌더링 과정 (0) | 2022.05.14 |
모던 자바스크립트 Deep Dive 34장~36장 이러터블/스프레드 문법/디스트럭처링 할당 (0) | 2022.05.09 |
모던 자바스크립트 Deep Dive 33장 Symbol (0) | 2022.05.09 |
모던 자바스크립트 Deep Dive 32장 String (0) | 2022.04.19 |