The static Reflect
.apply()
method calls a target function with arguments as specified.
Reflect.apply(target, thisArgument, argumentsList)
this
provided for the call to target
.target
should be called.The result of calling the given target function with the specified this
value and arguments.
A TypeError
, if the target is not callable.
In ES5, you typically use the Function.prototype.apply()
method to call a function with a given this
value and arguments
provided as an array (or an array-like object).
Function.prototype.apply.call(Math.floor, undefined, [1.75]);
With Reflect.apply
this becomes less verbose and easier to understand.
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"
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Reflect.apply' in that specification. | Standard | Initial definition. |
ECMAScript 2017 Draft (ECMA-262) The definition of 'Reflect.apply' in that specification. | Draft |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 49 | 12 | 42 (42) | No support | 36 | 10 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | 49 | 42.0 (42) | No support | No support | 10 |
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply