静的なReflect.apply()メソッドは、指定された引数とともに対象となる関数を呼び出します。

構文

Reflect.apply(target, thisArgument, argumentsList)

引数

target
呼び出し対象の関数。
thisArgument
target の呼び出しの this 値を提供する。
argumentsList
target と一緒に呼び出されるべき引数を指定する配列様のオブジェクト。

戻り値

指定された this 値と引数の条件で対象の関数を呼び出したときの結果です。

スローされるError

targetが呼び出せない場合、TypeErrorがスローされます。

説明

ES5では、通常関数を呼び出すために this 値と配列(または配列様のオブジェクト)として提供される引数を渡してFunction.prototype.apply()メソッドを使用します。

Function.prototype.apply.call(Math.floor, undefined, [1.75]);

Reflect.applyを使うと、それほど冗長ではなく理解しやすくなります。

Reflect.apply()の使用

Reflect.apply(Math.floor, undefined, [1.75]); 
// 1;

Reflect.apply(String.fromCharCode, undefined, [104, 101, 108, 108, 111]);
// "hello"

Reflect.apply(RegExp.prototype.exec, /ab/, ["confabulation"]).index;
// 4

Reflect.apply("".charAt, "ponies", [3]);
// "i"

仕様

仕様 状態 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Reflect.apply の定義
標準 初期定義
ECMAScript Latest Draft (ECMA-262)
Reflect.apply の定義
ドラフト  

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応Chrome 完全対応 49Edge 完全対応 12Firefox 完全対応 42IE 未対応 なしOpera 完全対応 36Safari 完全対応 10WebView Android 完全対応 49Chrome Android 完全対応 49Edge Mobile 完全対応 ありFirefox Android 完全対応 42Opera Android 完全対応 36Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 6.0.0

凡例

完全対応  
完全対応
未対応  
未対応

関連項目

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

このページの貢献者: segayuu, SphinxKnight, YuichiNukiyama
最終更新者: segayuu,