apply 메소드
apply 메소드는 주어진 컨텍스트로
함수를 호출할 수 있게 합니다. 메소드의 첫 번째 매개변수로는
함수의 컨텍스트를 지정하고, 두 번째 매개변수로는
함수의 매개변수 배열을 전달합니다.
구문
함수.apply(컨텍스트, 매개변수 배열);
예시
다음과 같은 입력 필드가 있다고 가정해 봅시다:
<input id="elem" value="text">
또한 세 개의 매개변수를 받는 함수가 있다고 가정해 봅시다:
function func(param1, param2, param3) {
console.log(this.value + param1 + param2 + param3);
}
함수를 호출하여 함수 내부의 this가
입력 필드를 가리키도록 하고,
동시에 숫자 1,
2, 3을 매개변수로 전달해 봅시다:
let elem = document.querySelector('#elem');
func.apply(elem, [1, 2, 3]);
예시
함수가 매개변수를 받지 않는 경우를 가정해 봅시다:
function func() {
console.log(this.value);
}
이 경우 apply를 통해 이 함수를 호출할 때는
컨텍스트를 포함하는 첫 번째 매개변수만 전달하면 충분합니다:
let elem = document.querySelector('#elem');
func.apply(elem);