Proxy.revocable() - JavaScript 编辑
The Proxy.revocable()
method is used to create a revocable Proxy
object.
Syntax
Proxy.revocable(target, handler);
Parameters
target
- A target object to wrap with
Proxy
. It can be any sort of object, including a native array, a function, or even another proxy. handler
- An object whose properties are functions define the behavior of proxy
p
when an operation is performed on it.
Return value
A newly created revocable Proxy
object is returned.
Description
A revocable Proxy
is an object with following two properties {proxy: proxy, revoke: revoke}
.
proxy
- A Proxy object created with
new Proxy(target, handler)
call. revoke
- A function with no argument to invalidate (switch off) the
proxy
.
If the revoke()
function gets called, the proxy becomes unusable: Any trap to a handler will throw a TypeError
. Once a proxy is revoked, it will remain revoked and can be garbage collected. Calling revoke()
again has no effect.
Examples
Using Proxy.revocable
var revocable = Proxy.revocable({}, {
get: function(target, name) {
return "[[" + name + "]]";
}
});
var proxy = revocable.proxy;
console.log(proxy.foo); // "[[foo]]"
revocable.revoke();
console.log(proxy.foo); // TypeError is thrown
proxy.foo = 1 // TypeError again
delete proxy.foo; // still TypeError
typeof proxy // "object", typeof doesn't trigger any trap
Specifications
Specification |
---|
ECMAScript (ECMA-262) The definition of 'Proxy Revocation Functions' in that specification. |
Browser compatibility
BCD tables only load in the browser
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论