WeakMap.prototype.set()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
set() 㯠WeakMap ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ãæå®ããããã¼ã¨å¤ããã¤æ°ããé
ç®ã WeakMap ãªãã¸ã§ã¯ãã¸è¿½å ãã¾ãããã§ã«ãã®ãã¼ãåå¨ããå ´åã¯ãé
ç®ãæ´æ°ãã¾ãã
試ãã¦ã¿ã¾ããã
const weakmap = new WeakMap();
const object1 = {};
const object2 = {};
weakmap.set(object1, "foo");
weakmap.set(object2, "bar");
console.log(weakmap.get(object1));
// äºæ³ãããçµæ: "foo"
console.log(weakmap.get(object2));
// äºæ³ãããçµæ: "bar"
æ§æ
set(key, value)
弿°
key-
WeakMapãªãã¸ã§ã¯ãã®ä¸ã§è¿½å ã¾ãã¯å¤æ´ããé ç®ã®ãã¼ããªãã¸ã§ã¯ãã¾ãã¯éç»é²ã·ã³ãã«ã®ã©ã¡ããã§ãªããã°ãªãã¾ããããªãã¸ã§ã¯ãã®ãã¼ã¯å¤ã§ã¯ãªãåç §ã¨ãã¦æ¯è¼ããã¾ãã value-
WeakMapãªãã¸ã§ã¯ãã«è¿½å ã¾ãã¯å¤æ´ããé ç®ã®å¤ã§ããä»»æã®å¤ã«ãããã¨ãã§ãã¾ãã
è¿å¤
WeakMap ãªãã¸ã§ã¯ãã§ãã
ä¾å¤
TypeError-
keyããªãã¸ã§ã¯ãã§ãéç»é²ã·ã³ãã«ã§ããªãå ´åã«çºçãã¾ãã
ä¾
>set() ã¡ã½ããã®ä½¿ç¨
const wm = new WeakMap();
const obj = {};
// WeakMap ã«æ°ããé
ç®ã追å
wm.set(obj, "foo").set(window, "bar"); // é£çµå¯è½
// WeakMap ã®é
ç®ãæ´æ°
wm.set(obj, "baz");
// éç»é²ã·ã³ãã«ããã¼ã¨ãã¦ä½¿ç¨
const sym = Symbol("foo");
wm.set(sym, "baz");
wm.set(Symbol.iterator, "qux");
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-weakmap.prototype.set> |