このロケールの翻訳が存在しないため、英語バージョンのコンテンツを表示しています。 Help us translate this article!
概要
new 操作に対するトラップです。
構文
var p = new Proxy(target, {
construct: function(target, argumentsList) {
}
});
引数
次の引数がconstruct メソッドに渡されます。thisはハンドラにバインドされます。
target- ターゲットオブジェクト
argumentsList- コンストラクタに対する引数のリスト
戻り値
construct メソッドはオブジェクトを返さなければなりません。
説明
handler.construct() メソッドはnew 操作に対するトラップです。
インターセプト
このトラップは下記の操作をインターセプトできます。:
new proxy(...args)Reflect.construct()
不変条件
次の不変条件に違反している場合、プロキシは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) | ? | ? | ? |
関連情報
Proxyhandlernewoperator.Reflect.construct()