apply 메소드

apply 메소드는 주어진 컨텍스트로 함수를 호출할 수 있게 합니다. 메소드의 첫 번째 매개변수로는 함수의 컨텍스트를 지정하고, 두 번째 매개변수로는 함수의 매개변수 배열을 전달합니다.

구문

javascript함수.apply(컨텍스트, 매개변수 배열);

예시

다음과 같은 입력 필드가 있다고 가정해 봅시다:

html<input id="elem" value="text">

또한 세 개의 매개변수를 받는 함수가 있다고 가정해 봅시다:

javascriptfunction func(param1, param2, param3) {
  console.log(this.value + param1 + param2 + param3);
}

함수를 호출하여 함수 내부의 this가 입력 필드를 가리키도록 하고, 동시에 숫자 1, 2, 3을 매개변수로 전달해 봅시다:

javascriptlet elem = document.querySelector('#elem');
func.apply(elem, [1, 2, 3]);

예시

함수가 매개변수를 받지 않는 경우를 가정해 봅시다:

javascriptfunction func() {
  console.log(this.value);
}

이 경우 apply를 통해 이 함수를 호출할 때는 컨텍스트를 포함하는 첫 번째 매개변수만 전달하면 충분합니다:

javascriptlet elem = document.querySelector('#elem');
func.apply(elem);

함께 보기

  • 컨텍스트로 함수를 호출하는 메소드, call
  • 컨텍스트를 함수에 바인딩하는 메소드, bind