ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVASCRIPT]2. callback
    2017. 9. 11. 23:36
    반응형

    callback이란?

      프로그래밍에서 콜백(callback)은 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수도 있다.

    일반적으로 콜백수신 코드로 콜백 코드(함수)를 전달할 때는 콜백 함수의 포인터 (핸들), 서브루틴 또는 람다함수의 형태로 넘겨준다. 콜백수신 코드는 실행하는 동안에 넘겨받은 콜백 코드를 필요에 따라 호출하고 다른 작업을 실행하는 경우도 있다. 다른 방식으로는 콜백수신 코드는 넘겨받은 콜백 함수를 '핸들러'로서 등록하고, 콜백수신 함수의 동작 중 어떠한 반응의 일부로서 나중에 호출할 때 사용할 수도 있다 (비동기 콜백). 콜백은 폴리모피즘 제네릭프로그래밍의 단순화된 대체 수법이며, 콜백 수신 함수의 정확한 동작은 콜백 함수에 의해 바뀐다. 콜백은 코드 재사용을 할 때 유용하다.


    사실 콜백함수를 말해주고 싶었으나, 코드를 짜보니 나도 콜백함수를 잘 모른다는 것을 알게 되었고, 하 일단.. 자바스크립트의 괴상함부터 살펴보자면



    var a = new Array(2);
    
    a[0] = function(b)
    {
    	console.log('1');
    	b;
    }
    
    a[1] = function()
    {
    	console.log('2');
    }
    
    a[0](a[1]());
    


    내가 이런 코드를 짰다고 치자. 

    살펴보자면 변수를 배열형태로 2개 선언하고

    각각 변수를 함수로 정의했고 뭐 여기 넣고 저기 넣고 하니 

    결과가 

    2 1

    이딴식으로 나오는 공포실화


    뭐 직관적이어서 좋긴 한데.

    a[0](a[1]());

    너무 예쁘게 생겼다.


    여기서의 a[0]가 바로 내가 이해하는 '콜백함수'.

    인자로 함수를 받아 실행해준다. 어떻게 본다면 변수도, 함수도 모두 값으로 취급하는 자바스크립트에서는 당연한 건지도 모르겠다.


    나중에 적절한 예시가 생기면 다시 올리겠다. 

    반응형

    '' 카테고리의 다른 글

    [HTML] HTML에 관한 고찰  (0) 2022.12.06
    [JAVASCRIPT]1. javascript Json 처리하기  (0) 2017.09.10
    [CSS]과구 CSS분석 1  (0) 2016.11.04
    [HTML]HTML 1  (0) 2016.10.30

    댓글

Designed by Tistory. Flag Counter