
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()이후 해당 인스턴스에 값을 추가할 수 있다.