apply 메서드는 주어진 this 값과 배열(유사 배열)로 제공되는 arguments로 함수를 호출합니다.

<aside> 💡 이 함수의 구문은 거의 call() 구문과 유사합니다. 근본적인 차이점은 call() 은 함수에 전달될 인수 리스트를 받는데 비해, apply() 는 인수들의 단일 배열을 받는다는 점입니다.

</aside>

func.apply(thisArg, [argsArray]);

매개변수

thisArg

func를 호출하는데 제공될 this의 값

argsArray

func 이 호출되어야 하는 인수를 지정하는 유사 배열 객체

예제

let nameObj = { name: 'minngki' };
let test = function (city) {
  return `Hello ${this.name}, Welcome to ${city}`};
console.log(test.apply(nameObj, ['Seoul'])); // 'Hello minngki, Welcome to Seoul'

이미 존재하는 함수를 호출할 때 다른 this 객체를 할당할 수 있습니다. this 는 현재 객체, 호출하는 객체를 참조합니다.