Proxy の handler オブジェクトは、proxy に対するトラップを保持するプレースホルダーオブジェクトです。

メソッド

すべてのトラップはオプションです。トラップが定義されていない場合、デフォルトの振る舞いはターゲットに操作を転送することです。

handler.getPrototypeOf()
Object.getPrototypeOf に対するトラップです。
handler.setPrototypeOf()
Object.setPrototypeOf に対するトラップです。
handler.isExtensible()
Object.isExtensible に対するトラップです。
handler.preventExtensions()
Object.preventExtensions に対するトラップです。
handler.getOwnPropertyDescriptor()
Object.getOwnPropertyDescriptor に対するトラップです。
handler.defineProperty()
Object.defineProperty に対するトラップです。
handler.has()
in 操作に対するトラップです。
handler.get()
プロパティ値を取得するためのトラップです。
handler.set()
プロパティ値を設定するためのトラップです。
handler.deleteProperty()
delete 操作に対するトラップです。
handler.ownKeys()
Object.getOwnPropertyNamesObject.getOwnPropertySymbols に対するトラップです。
handler.apply()
関数呼び出しに対するトラップです。
handler.construct()
new 操作に対するトラップです。

いくつかの非標準のトラップは 廃止され取り除かれました

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Proxy Object Internal Methods and Internal Slots の定義
標準 初回定義。
ECMAScript Latest Draft (ECMA-262)
Proxy Object Internal Methods and Internal Slots の定義
ドラフト enumerate ハンドラーが削除されました。

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
apply491218 なし3610
construct491218 なし3610
defineProperty491218 なし3610
deleteProperty491218 なし3610
enumerate なし なし37 — 47 なし なし なし
get491218 なし3610
getOwnPropertyDescriptor491218 なし3610
getPrototypeOf なし なし49 なし なし なし
has491218 なし3610
isExtensible ? ?31 なし ? ?
ownKeys4912181 なし3610
preventExtensions491222 なし3610
set491218 なし3610
setPrototypeOf ? ?49 なし ? ?
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
apply4949 あり1836105.0
construct4949 あり1836105.0
defineProperty4949 あり1836105.0
deleteProperty4949 あり1836105.0
enumerate なし なし なし37 — 47 なし なし なし
get4949 あり1836105.0
getOwnPropertyDescriptor4949 あり1836105.0
getPrototypeOf なし なし なし49 なし なし なし
has4949 あり1836105.0
isExtensible ? ? ?31 ? ? ?
ownKeys4949 あり18136105.0
preventExtensions4949 あり2236105.0
set4949 あり1836105.0
setPrototypeOf ? ? ?49 ? ? ?

1. In Firefox 42, the implementation got updated to reflect the final ES2015 specification: The result is now checked if it is an array and if the array elements are either of type string or of type symbol. Enumerating duplicate own property names is not a failure anymore.

関連情報

ドキュメントのタグと貢献者

このページの貢献者: segayuu, dskmori, taiyaki32p, shide55
最終更新者: segayuu,