콜백(call back) 함수.
Node.js를 다루는데 꼭 알고 넘어가야하는 자바스크립트 문법이다.
커맨드 창에 node 라고 만 입력하고 엔터를 치게 되면
커맨드에서 직접 js 코드를 한줄 한줄 실습할 수 있다.
cf) 세미콜론으로 한줄에 여러 줄의 코드를 입력할 수 있다.
Javascript의 문법 중에 array와 sort를 사용해서 콜백 함수에 대해 알아보겠다.
> a=[3,1,2];function b(v1, v2){return v2-v1}; a.sort(b); console.log(a);
[ 3, 2, 1 ]
undefined
> a=[3,1,2];function b(v1, v2){return v1-v2}; a.sort(b); console.log(a);
[ 1, 2, 3 ]
undefined
> a=[3,1,2];function b(v1, v2){return 0}; a.sort(b); console.log(a);
[ 3, 1, 2 ]
undefined
sort라는 함수가 b라고 하는 함수를 매개변수로 (인자로) 받으면
sort라는 함수는 내부적으로 필요할 때마다
즉, 어떤 값을 앞으로 보낼 것인지 결정해야할 필요가 있을 때마다
b라고 정의한 함수를 호출하도록 되어있다.
리턴 값에 따라서 정렬을 하게 된다.
여기서 함수 를 callback 함수라고 한다.
콜백 함수를 정의한건 나지만 호출한 것은 sort라는 함수이다.
콜백 함수는 누군가에게 나중에 호출 당할 함수이다.
sort 함수는 콜백함수를 호출함으로써 기능을 확장한다.
콜백함수에 이름을 지정하는 것은 나중에 여러 번 사용하기 위함이다.
만약 일회성으로 사용할 함수라면 이름을 지정할 필요가 없다.
-> 익명함수! 를 콜백 함수로 제공할 수 있다.
거의 익명함수를 사용한다.
생활코딩 이고잉님 감사합니다
-..-
'Dev.BackEnd > Node.js' 카테고리의 다른 글
[다섯번째] Node.js 기본 / Express 도입 (0) | 2016.04.08 |
---|---|
[네번째] Node.js 기본 / 동기&비동기 개념 (0) | 2016.04.07 |
[두번째] Node.js 기본 / 모듈과 NPM (0) | 2016.04.07 |
[첫번째] Node.js 기본 / About node! / 간단한 웹 애플리케이션 만들기 (0) | 2016.04.06 |
[프롤로그] Node.js 란 무엇인가? (0) | 2016.04.05 |