앞서 Javascript Call 메소드에 대해 이야기했습니다. 이번에는 Call 메소드와 유사한 Apply 메소드에 대해 이야기하겠습니다.
신청 vs 전화
둘 사이의 차이점은 전달되는 매개변수인가 아니면 매개변수의 배열인가입니다.
통화 이용방법은 다음과 같습니다
theFunction.call(valueForThis, arg1, arg2, ...)
그리고 이것이 적용됩니다
theFunction.apply(valueForThis, arrayOfArgs)
그러므로
arrayOfArgs = [arg1, arg2, ...];
자바스크립트 적용방법
call의 이전 사용법을 살펴보겠습니다
함수 인쇄(p1, p2) {
console.log( p1 ' ' p2);
}
print.call(정의되지 않음, "안녕하세요", "세계");
위의 설명을 통해
args = "안녕하세요", "세계";
함수 인쇄(p1, p2) {
console.log( p1 ' ' p2);
}
print.call(정의되지 않음, 인수);
둘은 동일하고, 실제로도 동일하며, 출력 결과도 "Hello, World"입니다!