Learnitweb

JavaScript apply() method

1. Introduction

The apply() method calls a function. While calling this method you can provide this argument and arguments as an array.

The apply() method is identical to that of call() with difference that arguments are passed to call() as separate arguments whereas arguments are passed to apply() as an array.

Following are valid versions of apply():

apply(thisArgument)
apply(thisArgument, argsArray)

Here, thisArgument is the value of this provided while calling the function. The argsArray is the optional array of arguments.

2. Examples of call()

Example 1: Using apply() to call a function

In this example, we are using apply() without any argument.

function hello() {
  console.log("hello world");
}
hello.apply(); //hello world

Example 2: Using apply() with this

In this example, while using apply(), we are passing one argument. Since the first argument is this, it will refer to { msg: "hello world" }.

function hello() {
  console.log(this.msg);
}
hello.apply({ msg: "hello world" }); // hello world

Example 3: Using call() with built-in functions

The apply() method can be used with some built-in functions where array can be passed as argument. Following is one example:

const numbers = [1, 5, 9, 10];

let max = Math.max.apply(null, numbers);
console.log(max);  // 7

3. Conclusion

In this tutorial, we discussed apply() method. This method is identical to call() except that it accepts arguments as array. We recommend to read our previous tutorial about call().