UNB/ CS/ David Bremner/ teaching/ cs2613/ books/ mdn/ Reference/ Global Objects/ Reflect/ Reflect.apply()

The Reflect.apply() static method calls a target function with arguments as specified.

Syntax

Reflect.apply(target, thisArgument, argumentsList)

Parameters

Return value

The result of calling the given target function with the specified this value and arguments.

Exceptions

Description

Reflect.apply() provides the reflective semantic of a function call. That is, Reflect.apply(target, thisArgument, argumentsList) is semantically equivalent to:

Math.floor.apply(null, [1.75]);
Reflect.apply(Math.floor, null, [1.75]);

The only differences are:

Reflect.apply() invokes the <span class="createlink">Call</span> object internal method of target.

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

See also