testDirectProxyGetInherited1.js (504B)
1 // Getting a property that exists on an ordinary object 2 // does not touch a proxy on its proto chain. 3 4 load(libdir + "asserts.js"); 5 6 var angryHandler = new Proxy({}, { 7 get(t, id) { throw new Error("angryHandler should not be queried (" + id + ")"); } 8 }); 9 var angryProto = new Proxy({}, angryHandler); 10 var obj = Object.create(angryProto, { 11 x: {value: 3}, 12 y: {get: () => 4} 13 }); 14 assertThrowsInstanceOf(() => obj.z, Error); // check that angryProto works 15 assertEq(obj.x, 3); 16 assertEq(obj.y, 4);