1. Set 오브젝트 개요, new Set(), Set과 Map 비교
Set 오브젝트
- value(값)의 컬렉션
- [value1,,, valueN]형태로 작성
- Set은 Map과 다르게 대괄호
[]
가 하나입니다.
- 작성한 순서대로 전개됩니다.
const obj = new Set([ 1, 2, "ABC" ]);
console.log(`size: ${obj.size}`);
for(let value of obj){
console.log(value);
};
[실행 결과]
size: 3
1
2
ABC
new Set()
- Set 인스턴스 생성, 반환
- 파라미터에 값을 작성
- Primitive, Object Type 사용이 가능합니다.
- size 프로퍼티
const obj = new Set([ 1, 2, 1, [], {}]);
console.log(`size: ${obj.size}`);
for(let value of obj){
console.log(value);
};
[실행 결과]
size: 4
1
2
[]
{}
- 같은 값이 있으면 첫 번째의 1을 유지하며 세 번째의 1을 설정하지 않습니다.
- Same-Value-Zero 비교 알고리즘으로 비교합니다.
- obj.size는 세 번째의 1이 설정되지 않았기에 4가 됩니다.
Set과 Map 비교
- 저장 형태
- Map: key와 value를 pair로 작성 [key, value]
- Set: value만 작성하여 value를 key로 사용하여 [value]저장