Constructeur WeakMap()
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.
Le constructeur WeakMap()
permet de créer un nouvel objet WeakMap
éventuellement basé sur un autre objet itérable fourni en argument (par exemple, un tableau).
Syntaxe
new WeakMap();
new WeakMap(iterable);
Paramètres
iterable
-
Un tableau (
Array
) ou tout autre objet itérable qui implémente une méthode@@iterator
renvoyant un objet itérateur qui produit des objets semblables à des tableaux avec deux éléments, le premier qui sera utilisé comme clé de laWeakMap
et le second comme valeur associée à cette clé. Chaque paire de clé/valeur sera ainsi ajoutée au nouveauWeakMap
.null
est traité commeundefined
.
Exemples
Utiliser WeakMap()
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); // une valeur peut être de n'importe quel type (objet ou fonction)
wm2.set(o3, undefined);
wm2.set(wm1, wm2); // les clés et les valeurs peuvent être des objets, même des WeakMaps
wm1.get(o2); // "azerty"
wm2.get(o2); // undefined, car il n'y a pas de clé pour o2 sur wm2
wm2.get(o3); // undefined, car c'est la valeur associée
wm1.has(o2); // true
wm2.has(o2); // false
wm2.has(o3); // true (même si la valeur associée est 'undefined')
wm3.set(o1, 37);
wm3.get(o1); // 37
wm1.has(o1); // true
wm1.delete(o1);
wm1.has(o1); // false
Spécifications
Specification |
---|
ECMAScript® 2025 Language Specification # sec-weakmap-constructor |
Compatibilité des navigateurs
BCD tables only load in the browser