MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

handler.apply()

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

これは Harmony(ECMAScript 6) 提案の一部であり、実験段階の技術です。
この技術の仕様は安定していません。ブラウザ互換性の一覧表を確認してください。またこれらの構文や動作は、仕様変更などにより、新しいバージョンのブラウザでは変更される可能性があるという点に注意してください。

概要

関数呼び出しに対するトラップです。

構文

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

引数

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

target
ターゲットオブジェクト
thisArg
呼び出しに対するthis引数
argumentsList
呼び出しに対する引数リスト

戻り値

apply メソッドはどんな値でも返すことができます。

説明

handler.apply メソッドは関数呼び出しに対するトラップです。

インターセプト

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

不変条件

handler.apply メソッドに対する不変条件はありません。

次のコードでは、関数呼び出しをトラップします。

var p = new Proxy(function() {}, {
  apply: function(target, thisArg, argumentsList) {
    console.log("called: " + argumentsList.join(", "));
    return argumentsList[0] + argumentsList[1] + argumentsList[2];
  }
});

console.log(p(1, 2, 3)); // "called: 1, 2, 3"
                         // 6

仕様

仕様 ステータス コメント
ECMAScript 6 (ECMA-262)
The definition of '[[Call]]' in that specification.
勧告候補 Initial definition.

ブラウザ実装状況

機能 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) ? ? ?

関連情報

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

 このページの貢献者: shide55
 最終更新者: shide55,