// Getting a property that exists on an ordinary object // does not touch a proxy on its proto chain. load(libdir + "asserts.js"); var angryHandler = new Proxy({}, { get(t, id) { throw new Error("angryHandler should not be queried (" + id + ")"); } }); var angryProto = new Proxy({}, angryHandler); var obj = Object.create(angryProto, { x: {value: 3}, y: {get: () => 4} }); assertThrowsInstanceOf(() => obj.z, Error); // check that angryProto works assertEq(obj.x, 3); assertEq(obj.y, 4);