WeakMap() constructor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
WeakMap()
생성자는 WeakMap
객체를 생성합니다.
구문
매개변수
iterable
-
Array
또는 @@iterator 메서드(첫 번째 요소가WeakMap
키로 사용될 값이고 두 번째 요소가 해당 키에 연결할 값인 두 요소 배열과 같은 객체를 생성하는 이터레이터 객체를 반환)를 시행하는 다른 이터러블 객체. 각 키-값 쌍은 새로운WeakMap
에 추가됩니다. null은 undefined으로 취급합니다.
예제
WeakMap 사용하기
js
const wm1 = new WeakMap();
const wm2 = new WeakMap();
const wm3 = new WeakMap();
const o1 = {};
const o2 = function () {};
const o3 = window;
wm1.set(o1, 37);
wm1.set(o2, "azerty");
wm2.set(o1, o2); // 값은 함수나 객체처럼 어떤 것이든 가능합니다
wm2.set(o3, undefined);
wm2.set(wm1, wm2); // 키와 값은 어떤 객체라도 가능합니다. 심지어 WeakMap도 됩니다
wm1.get(o2); // "azerty"
wm2.get(o2); // undefined, wm2에서 o2에 해당하는 키가 없습니다
wm2.get(o3); // undefined, set 값이기 때문입니다
wm1.has(o2); // true
wm2.has(o2); // false
wm2.has(o3); // true (값 자체가 'undefined' 일지라도)
wm3.set(o1, 37);
wm3.get(o1); // 37
wm1.has(o1); // true
wm1.delete(o1);
wm1.has(o1); // false
명세서
Specification |
---|
ECMAScript Language Specification # sec-weakmap-constructor |
브라우저 호환성
BCD tables only load in the browser