Source code

Revision control

Copy as Markdown

Other Tools

/*
* Call the trap with the handler as the this value and the target as the first
* argument.
*/
var target = {};
var handler = {
preventExtensions: function (target1) {
assertEq(this, handler);
assertEq(target1, target);
Object.preventExtensions(target1);
called = true;
return true;
}
};
var proxy = new Proxy(target, handler);
var called = false;
Object.preventExtensions(proxy);
assertEq(called, true);
target = {};
proxy = Proxy.revocable(target, handler).proxy;
called = false;
Object.preventExtensions(proxy);
assertEq(called, true);