호출 및 적용을 통한 함수 호출
함수를 호출할 때 프로그래머는 종종 Function.prototype.apply() 또는 Function을 사용하는 옵션을 접하게 됩니다. .prototype.call(). 이 문서에서는 두 메서드의 차이점과 사용 사례를 살펴봅니다.
apply()와 call()
근본적인 차이점은 함수 인수를 처리하는 방법에 있습니다.
구문
Method | Syntax |
---|---|
apply() | function.apply(thisArg, [arg1, arg2, ...]) |
call() | function.call(thisArg, arg1, arg2, ...) |
니모닉
차이점을 기억하려면:
사용 사례
성능 고려 사항
두 방법 모두 성능 특성이 비슷합니다. ES6 이상에서는 스프레드 연산자(...)를 call()과 함께 사용할 수 있어 apply()보다 더 간결한 대안을 제공합니다.
예
다음 함수를 고려하십시오.
function greet(name, occupation) { console.log(`Hello, my name is ${name} and I'm a ${occupation}.`); }
apply() 및 call():
greet.apply(undefined, ["John", "engineer"]); greet.call(undefined, "Mary", "doctor");
이 결과는 다음과 같습니다.
Hello, my name is John and I'm a engineer. Hello, my name is Mary and I'm a doctor.
위 내용은 `call()` 대 `apply()`: 언제 어떤 함수 호출 방법을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!