FrontEnd/HTML5 & CSS & JavaScript
[JavaScript] Function의 call과 invoke 차이
푸고배
2022. 1. 24. 23:54
일부 문맥에서는 call과 invoke를 동일한 것으로 취급한다.
하지만 의미를 의도적으로 구분하는 경우, invoke는 간접적인 함수의 호출을 의미한다.
fn(); // I'm calling it
fn.call(); // I'm calling it
fn.apply(); // I'm calling it
JavaScript 함수는 fn()과 같이 직접 호출(call) 될 수 있고, fn.call(), fn.apply()와 같이 간접 호출(invoke)될 수도 있다.
두 경우 모두 함수 호출이지만, 직접 호출(call)은 말 그대로 함수를 직접 호출 하는 것이나 간접 호출(invoke)은 어딘가에 레퍼런스를 유지한 다음 간접 호출된다. 그래서 간접 호출(invole)는 보통 익명함수, 클로저, 델리게이트 등과 함께 제공된다.
Reference
반응형