この翻訳は不完全です。英語から この記事を翻訳 してください。

概要

new 操作に対するトラップです。

構文

var p = new Proxy(target, {
  construct: function(target, argumentsList) {
  }
});

引数

次の引数がconstruct メソッドに渡されます。thisはハンドラにバインドされます。

target
ターゲットオブジェクト
argumentsList
コンストラクタに対する引数のリスト

戻り値

construct メソッドはオブジェクトを返さなければなりません。

説明

handler.construct() メソッドはnew 操作に対するトラップです。

インターセプト

このトラップは下記の操作をインターセプトできます。:

不変条件

次の不変条件に違反している場合、プロキシはTypeErrorをスローします。:

  • 結果がObjectにならなければならない。

次のコードではnew 操作をトラップします。

var p = new Proxy(function() {}, {
  construct: function(target, argumentsList) {
    console.log("called: " + argumentsList.join(", "));
    return { value: argumentsList[0] * 10 };
  }
});

console.log(new p(1).value); // "called: 1"
                             // 10

次のコードでは、不変条件に違反します.

var p = new Proxy(function() {}, {
  construct: function(target, argumentsList) {
    return 1;
  }
});

new p(); // TypeError is thrown

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
[[Construct]] の定義
標準 Initial definition.

ブラウザ実装状況

現在、互換性データを可読形式の JSON フォーマットに置き換えているところです。 この互換性一覧は古い形式を使っており、これに含まれるデータの置き換えが済んでいません。 手助けしていただける場合は、こちらから!
機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート ? 18 (18) ? ? ?
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート ? ? 18.0 (18) ? ? ?

関連情報

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

このページの貢献者: mdnwebdocs-bot, SphinxKnight, shide55
最終更新者: mdnwebdocs-bot,