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