Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年9月.
handler.set() メソッドは、オブジェクトの [[Set]] 内部メソッドに対するトラップであり、プロパティアクセサーを使用してプロパティの値を設定する操作に使われます。
次の引数は set() メソッドに渡されます。this はハンドラーにバインドされます。
targetターゲットオブジェクトです。
property文字列または Symbol で、プロパティ名を表します。
value設定するプロパティの新しい値です。
receiverセッターの this 値。 Reflect.set() を参照。これは通常、プロキシー自体またはプロキシーから継承したオブジェクトです。
set() メソッドは、代入が成功したかどうかを示す論理値 (Boolean) を返す必要があります。それ以外の値は論理値に変換されます。
多くの操作(厳格モード でのプロパティアクセサーの使用が含まれます)は、 [[Set]] 内部メソッドが false を返した場合、TypeError が発生します。
このトラップは下記の操作に介入できます。
他にも、[[Set]] 内部メソッドを呼び出すあらゆる操作に介入できます。
プロキシーの [[Set]] 内部メソッドにおいて、ハンドラーの定義が次のいずれかの不変条件に違反する場合、TypeError が発生します。
次のコードではプロパティの値の設定をトラップします。
| ECMAScript® 2027 Language Specification # sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年8月30日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.