Source code

Revision control

Copy as Markdown

Other Tools

// Forward to the target if the trap is not defined
var objAB = Object.create(null, {
a: {
enumerable: true,
configurable: true
},
b: {
enumerable: false,
configurable: true
}
});
var objCD = Object.create(objAB, {
c: {
enumerable: true,
configurable: true
},
d: {
enumerable: false,
configurable: true
}
});
objCD[Symbol("moon")] = "something";
for (let p of [new Proxy(objCD, {}), Proxy.revocable(objCD, {}).proxy]) {
var names = Object.getOwnPropertyNames(p);
assertEq(names.length, 2);
assertEq(names[0], 'c');
assertEq(names[1], 'd');
}