반응형
Cambridge Dictionary 에서 call back의 뜻을 알아보았다.
정의들을 보면 빈번하게 중복되는 단어를 볼수가 있다.
request 와 return
어떤 요청을하고 그에 따른 리턴을 받는것.
프로그래밍에서의 callback도 동일하다.
function sayHello(){
console.log("hello!");
}
sayHello();
이 코드는 sayHello함수의 실행의 주체가 '나' 다. 내가 불렀으니까.
function sayHello(){
console.log("hello!");
}
setTimeout(sayHello, 3000);
하지만 이 코드는 sayHello함수의 실행주체는 setTimeout함수다. (나는 함수 작성만 했을 뿐.)
"setTimeout함수야, 3초후에 sayHello함수가 실행되도록해줘!"
나는 setTimeout함수한테 요청(request)을 하는것이다.
그리고 그 결과(return)가 "3초후 실행"인것이다.
자바스크립트 뿐만아니라 많은 프로그래밍 언어가 콜백함수를 처리할때 이런방식으로 처리한다.
callback의 구현이 단지 함수를 인자로 넘긴다는것 , 그것뿐인것이다.
앞에서 포스팅했던, array method 중 map,filter,reduce 등등 모두 callback을 받을수가 있는것도 모두 같은 원리다.
function sayToMe(){
console.log("다시 돌아와줘..");
}
function callVibesMusic(sayToMe){
if(ifYouStillKnowMyPhoneNumber()){
sayToMe();
}
}
callVibesMusic();
반응형
'Frontend > JAVASCRIPT' 카테고리의 다른 글
[Javascript] Object.create( ) 과 prototype chaining (0) | 2020.02.14 |
---|---|
[Javascript] prototype, __proto__, constructor (0) | 2020.02.14 |
[Javasvript] this는 가리킬뿐, this의 4가지 바인딩 (0) | 2020.01.26 |
[Javascript] 객체를 만드는 방법, (class, function) (0) | 2020.01.20 |
[Javascript] 클로저(Closure) (0) | 2020.01.20 |