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

 

Calling vs invoking a function

Up to this point, I thought "calling" and "invoking" a function meant the same thing. However, in a YouTube tutorial it said to invoke a function by calling it. My first thought was that the wordin...

stackoverflow.com

 

반응형