// Forward to the target if the trap is undefined var p; var target = function (x, y) { assertEq(new.target, p); this.foo = x + y; } for (p of [new Proxy(target, {}), Proxy.revocable(target, {}).proxy]) { var obj = new p(2, 3); assertEq(obj.foo, 5); assertEq(Object.getPrototypeOf(obj), target.prototype); }