WeakMap-constructor-2.js (665B)
1 // The WeakMap constructor can take an argument that is an array of pairs. 2 3 var k1 = {}; 4 var v1 = 42; 5 var k2 = {}; 6 var v2 = 43; 7 var k3 = {}; 8 9 var arr = [[k1, v1], [k2, v2]]; 10 11 var m = new WeakMap(arr); 12 13 assertEq(m.has(k1), true); 14 assertEq(m.has(k2), true); 15 assertEq(m.has(k3), false); 16 assertEq(m.get(k1), v1); 17 assertEq(m.get(k2), v2); 18 assertEq(m.get(k3), undefined); 19 20 var arraylike1 = { 21 0: k1, 22 1: v1 23 }; 24 var arraylike2 = { 25 0: k2, 26 1: v2 27 }; 28 arr = [arraylike1, arraylike2]; 29 30 m = new WeakMap(arr); 31 32 assertEq(m.has(k1), true); 33 assertEq(m.has(k2), true); 34 assertEq(m.has(k3), false); 35 assertEq(m.get(k1), v1); 36 assertEq(m.get(k2), v2); 37 assertEq(m.get(k3), undefined);