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.construct() メソッドは、オブジェクトの [[Construct]] 内部メソッドに対するトラップです。new 演算子などの操作で使用されます。結果としてのプロキシーオブジェクトが new 演算子を使用できるようにするためには、プロキシーを初期化するために使用されるターゲット自体が有効なコンストラクターである必要があります。
次の引数が construct() メソッドに渡されます。 this はハンドラーにバインドされます。
targetターゲットのコンストラクターオブジェクトです。
argumentsListコンストラクターに渡された引数の入った配列 (Array) です。
newTarget呼び出された元のコンストラクターです。
construct メソッドは新しく作成されたオブジェクトを表すオブジェクトを返す必要があります。
このトラップは下記の操作に介入できます。
他にも、[[Construct]] 内部メソッドを呼び出すあらゆる操作に介入できます。
プロキシーの [[Construct]] 内部メソッドは、以下の不変条件に違反している場合、呼び出されるとトラップで TypeError が発生します。
次のコードでは new 操作をトラップします。
次のコードでは不変条件に違反します。
次のコードはプロキシーを正しく初期化していません。プロキシーの target の初期化は、それ自身が new 演算子に有効なコンストラクターでなければなりません。
| ECMAScript® 2027 Language Specification # sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget |
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.