Source code
Revision control
Copy as Markdown
Other Tools
var x = "wrong";
var t = {x: "x"};
var hits = 0;
var p = new Proxy(t, {
has(t, id) {
var found = id in t;
if (++hits == 2)
delete t[id];
return found;
},
get(t, id) { return t[id]; }
});
with (p)
x += " x";
// If you change this testcase (e.g. because we fix the number of
// has() calls we end up making to match spec better), don't forget to
assertEq(hits, 2);
assertEq(t.x, "undefined x");