--- title: Reflect.apply() slug: Web/JavaScript/Reference/Global_Objects/Reflect/apply tags: - ECMAScript 2015 - JavaScript - Reflect - метод translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/apply ---
Статический метод Reflect
.apply()
вызывает переданную ему функцию с указанными аргументами.
Исходный код этого интерактивного примера находится в репозитории GitHub. Если вы хотите внести свой вклад в интерактивные примеры, пожалуйста, клонируйте репозиторий https://github.com/mdn/interactive-examples и отправляйте нам pull request.
Reflect.apply(target, thisArgument, argumentsList)
this
во время вызова функции target
.target
.Возвращается значение, которое вернёт функция target
с указанным значением переменной this
и аргументами.
{{jsxref("TypeError")}}, если функция target
не может быть вызвана.
В ES5, обычно используется метод {{jsxref("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]);
// "и"
{{Compat("javascript.builtins.Reflect.apply")}}