value의 컬렉션
[value1,,, valueN]
형태로 작성된다.
작성한 순서대로 전개된다. -> [[Entries]] 에 인덱스가 있다.중복된 값을 허용하지 않는다.
const obj = new Set([ 1,1,2,"ABC" ]); console.log(`size: ${obj.size}`); // size: 3 for (let value of obj){ console.log(value); } /* size: 3 1 2 ABC */
Symbol.speices가 있다. -> constructor를 오버라이드 할 수 있다.
Symbol.iterator 가 있다. -> 열거가 가능하다.
Set에 값을 추가한다.
만약 기존에 등록된 값이 있으면 덮어씌운다.
즉, 중복을 허용하지 않는다.
Set 인스턴스에서 값의 존재 여부를 반환한다.
있으면
true
, 없으면false
를 반환한다.
Set 인스턴스로 이터레이터 오브젝트를 생성하고 반환한다.
Set 인스턴스에 설정된 순서로 반환한다.
next()를 사용하면[value, value]
형태로 반환한다.const obj = new Set([ "one", () => {} ]); const iterObj = obj.entries(); console.log(iterObj.next()); // {value: [one, one], done: false} console.log(iterObj.next()); // {value: [()=>{}, ()=>{}], done: false} console.log(iterObj.next()); // {value: undefined, done: true}
Set
인스턴스의value를 key로 사용
하여 이터레이터 오브젝트 생성하고 반환const obj = new Set([ "one", () => {} ]); const iterObj = obj.keys(); console.log(iterObj.next()); // {value: one, done: false} console.log(iterObj.next()); // {value: ()=>{}, done: false} console.log(iterObj.next()); // {value: undefined, done: true}
Set
인스턴스의value
를 이터레이터 오브젝트 생성하고 반환const obj = new Set([ "one", () => {} ]); const iterObj = obj.values(); console.log(iterObj.next()); // {value: one, done: false} console.log(iterObj.next()); // {value: ()=>{}, done: false} console.log(iterObj.next()); // {value: undefined, done: true}
Set
인스턴스로 이터레이터 오브젝트를 생성하고 반환한다.
Set.values()
와 같다.const obj = new Set([ "one", () => {} ]); const iterObj = obj[Symbol.iterator](); console.log(iterObj.next()); // {value: one, done: false} console.log(iterObj.next()); // {value: ()=>{}, done: false} console.log(iterObj.next()); // {value: undefined, done: true}
Set
인스턴스를 반복하면서 callback 함수 호출
Map
과 동일하게 유일한callback 함수
사용을 허용하는 메서드이다.const obj = new Set([ "one", () => {} ]); function callbalck(value, key, set){ console.log(`${value}, ${this.check}); } obj.forEach(callback, {check: "ABC"}); // {check: "ABC"}를 this 바인딩 /* one, ABC () => {}, ABC */
Set
인스턴스에서 파라미터 값과 같은 엘리먼트를 삭제한다.삭제에 성공하면
true
를 반환하고 실패하면false
를 반환한다.
Set
인스턴스에서 모든 엘리먼트를 지운다.
Set
인스턴스 자체를 삭제하는 것은 아니다.
즉clear()
이후 해당 인스턴스에 값을 추가할 수 있다.