2016-10-10 03:43:44 +02:00
|
|
|
// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
|
2017-05-27 17:36:13 +02:00
|
|
|
var $export = require('./_export')
|
|
|
|
, aFunction = require('./_a-function')
|
|
|
|
, anObject = require('./_an-object')
|
|
|
|
, rApply = (require('./_global').Reflect || {}).apply
|
|
|
|
, fApply = Function.apply;
|
|
|
|
// MS Edge argumentsList argument is optional
|
|
|
|
$export($export.S + $export.F * !require('./_fails')(function(){
|
|
|
|
rApply(function(){});
|
|
|
|
}), 'Reflect', {
|
2016-10-10 03:43:44 +02:00
|
|
|
apply: function apply(target, thisArgument, argumentsList){
|
2017-05-27 17:36:13 +02:00
|
|
|
var T = aFunction(target)
|
|
|
|
, L = anObject(argumentsList);
|
|
|
|
return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
|
2016-10-10 03:43:44 +02:00
|
|
|
}
|
|
|
|
});
|