この記事は編集レビューを必要としています。ぜひご協力ください。
この翻訳は不完全です。英語から この記事を翻訳 してください。
これは Harmony(ECMAScript 6) 提案の一部であり、実験段階の技術です。
この技術の仕様は安定していません。ブラウザ互換性の一覧表を確認してください。またこれらの構文や動作は、仕様変更などにより、新しいバージョンのブラウザでは変更される可能性があるという点に注意してください。
概要
取消可能なProxy
オブジェクトを生成します。
構文
Proxy.revocable(target, handler);
target
- A target object (can be any sort of objects, including a native array, a function or even another proxy) or function to wrap with
Proxy
. handler
- An object whose properties are functions which define the behavior of the proxy when an operation is performed on it.
戻り値
新しい生成した取消可能なProxy
オブジェクトが返されます。
説明
取消可能なProxy
は次の2つのプロパティ{proxy: proxy, revoke: revoke}
を持ったオブジェクトです。
proxy
new Proxy(target, handler)
呼び出しで生成したプロキシオブジェクトrevoke
proxy
を無効にするための引数を持たない関数
revoke()
関数が呼ばれたら、プロキシは使用できなくなります。: ハンドラへのどんなトラップもTypeError
をスローします。プロキシが取り消されると、取り消されたままになり、ガベージコレクションの対象となります。再度revoke()
が呼ばれても影響はありません。
例
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
仕様
仕様 | 状況 | コメント |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Proxy Revocation Functions' in that specification. |
Standard | Initial definition. |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | 未サポート | 34 (34) | 未サポート | 未サポート | 未サポート |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | 未サポート | 未サポート | 34 (34) | 未サポート | 未サポート | 未サポート |