公告
财富商城
积分规则
提问
发文
2019-09-15 04:29发布
时光不老,我们不散
ECMAScript 6 introduces proxy object, which may be created as revocable.
How can I detect if a proxy has been revoked?
The Proxy constructor only accepts targets and handlers when they are objects and are not revoked proxies. From ProxyCreate,
Proxy
If Type(target) is not Object, throw a TypeError exception. If target is a Proxy exotic object and the value of the [[ProxyHandler]] internal slot of target is null, throw a TypeError exception.
This allows you to check if a value is a revoked proxy: you only need to ensure that it's an object but makes Proxy throw.
Something like this should work:
function isRevokedProxy(value) { try { new Proxy(value, value); return false; } catch(err) { return Object(value) === value; } }
最多设置5个标签!
The
Proxy
constructor only accepts targets and handlers when they are objects and are not revoked proxies. From ProxyCreate,This allows you to check if a value is a revoked proxy: you only need to ensure that it's an object but makes
Proxy
throw.Something like this should work: