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.getOwnPropertyNames
とObject.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 ハンドラーが削除されました。 |
ブラウザー実装状況
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
デスクトップ | モバイル | サーバー | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apply | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 18 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 18 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
construct | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 18 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 18 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
defineProperty | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 18 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 18 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
deleteProperty | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 18 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 18 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
enumerate | Chrome 未対応 なし | Edge 未対応 なし | Firefox 未対応 37 — 47 | IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Edge Mobile 未対応 なし | Firefox Android 未対応 37 — 47 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 未対応 なし |
get | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 18 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 18 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
getOwnPropertyDescriptor | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 18 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 18 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
getPrototypeOf | Chrome 未対応 なし | Edge 未対応 なし | Firefox 完全対応 49 | IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Edge Mobile 未対応 なし | Firefox Android 完全対応 49 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 完全対応 6.0.0 |
has | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 18 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 18 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
isExtensible | Chrome ? | Edge ? | Firefox 完全対応 31 | IE 未対応 なし | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android 完全対応 31 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? | nodejs 完全対応 6.0.0 |
ownKeys | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox
完全対応
18
| IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android
完全対応
18
| Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
preventExtensions | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 22 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 22 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
set | Chrome 完全対応 49 | Edge 完全対応 12 | Firefox 完全対応 18 | IE 未対応 なし | Opera 完全対応 36 | Safari 完全対応 10 | WebView Android 完全対応 49 | Chrome Android 完全対応 49 | Edge Mobile 完全対応 あり | Firefox Android 完全対応 18 | Opera Android 完全対応 36 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 6.0.0 |
setPrototypeOf | Chrome ? | Edge ? | Firefox 完全対応 49 | IE 未対応 なし | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android 完全対応 49 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? | nodejs 完全対応 6.0.0 |
凡例
- 完全対応
- 完全対応
- 未対応
- 未対応
- 実装状況不明
- 実装状況不明
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 実装ノートを参照してください。
- 実装ノートを参照してください。