WeakSet 오브젝트

Set 오브젝트와의 차이점

기본적인 개념은 WeakMap과 같으나 value만 작성하는것이 다르며 value의 참조가 바뀔 경우 GC대상이 됩니다.

지원 메소드로는 has(), add(), delete()가 있습니다.

new WeakSet()

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c1f72d5a-4a21-4f7f-82ed-b3943ee68a33/Untitled.png

const empty = new WeakSet();
const sports = {};
const obj = new WeakSet([ sports ]);
  1. const empty = new WeakSet();

    ⇒ 파라미터를 작성하지 않아도 생성 가능합니다.

  2. new 연산자를 사용합니다.

has()

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ca3b12c1-addc-4c09-80a0-d76724419ba2/Untitled.png

const fn = () =>{};
const fn2 = () =>{};
const obj = new WeakSet([ fn ]);
console.log(obj.has(fn));
console.log(obj.has(fn2));

[실행 결과]

true

false

add()

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b1bf34b7-f7b2-40af-a5d0-63726f1e7fbf/Untitled.png