Reflect.apply()
 The static Reflect.apply() method calls a target function with arguments as specified. 
Syntax
Reflect.apply(target, thisArgument, argumentsList)
Parameters
- target
-  The target function to call. 
- thisArgument
-  The value of thisprovided for the call totarget.
- argumentsList
-  An array-like object specifying the arguments with which targetshould be called.
Return value
 The result of calling the given target function with the specified this value and arguments. 
Exceptions
A TypeError, if the target is not callable.
Description
 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.
Examples
Using 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"
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
| apply | 49 | 12 | 42 | No | 36 | 10 | 49 | 49 | 42 | 36 | 10 | 5.0 | 
See also
- A polyfill of Reflect.applyis available incore-js
- Reflect
- Function.prototype.apply()
    © 2005–2021 MDN 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