Статический метод Reflect.apply() вызывает переданную ему функцию с указанными аргументами.

Синтаксис

Reflect.apply(target, thisArgument, argumentsList)

Параметры

target
Функция, которую необходимо вызвать.
thisArgument
Значение переменной this во время вызова функции target.
argumentsList
Объект, подобный массиву, содержащий аргументы, с которыми должна быть вызвана функция target.

Возвращаемое значение

Возвращается значение, которое вернёт функция target с указанным значением переменной this и аргументами.

Исключения

TypeError, если функция target не может быть вызвана.

Описание

В ES5, обычно используется метод Function.prototype.apply(), чтобы вызвать функцию с указанным значением переменной this и arguments, переданными как массив (или массивоподобный объект).

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, /вы/, ['превысокомногорассмотрительствующий']).index;
// 4

Reflect.apply(''.charAt, 'пони', [3]);
// "и"

Спецификации

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'Reflect.apply' в этой спецификации.
Стандарт Изначальное определение.
ECMAScript Latest Draft (ECMA-262)
Определение 'Reflect.apply' в этой спецификации.
Черновик  

Поддержка браузерами

ВозможностьChromeEdgeFirefoxInternet ExplorerOperaSafari
Базовая поддержка491242 Нет3610
ВозможностьAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Базовая поддержка4949 Да423610 ?

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: HarmlessEvil
 Обновлялась последний раз: HarmlessEvil,