ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 기본 - 함수 표현식
    Javascript 2021. 7. 2. 15:37

     

    자바스크립트는 함수를 특별한 종류의 값으로 취급한다.

    함수 표현식보다는 함수 선언문을 선택하는 걸 먼저 고려한다.

     

    함수 선언문과 함수 표현식의 차이

    // 함수 선언문
    sayHi('John'); // Hello, John
    
    function sayHi(name) {
        alert(`Hello, ${name}`);
    }
    
    // 함수 표현식
    sayHi('John'); // error!
    
    let sayHi = function(name) {
        alert(`Hello, ${name}`);
    }

    자바스크립트는 스크립트를 실행하기 전, 준비단계에서 전역에 선언된 함수 선언문을 찾고, 해당 함수를 생성하기 때문에 함수 선언문이 선언되기 전에 해당 함수를 호출하는 코드를 작성해도 정상적으로 실행이 된다.

    그러나 함수 표현식으로 정의한 함수는 실행 흐름이 표현식에 다다랐을 때 함수가 만들어져서 먼저 호출할 수 없다.

     

     

    콜백 함수

    function ask(question, yes, no) {
        if (confirm(question)) yes()
        else no();
    }
    
    function showOk() {
        alert('동의');
    }
    
    function showCancel() {
        alert('취소'); 
    }
    
    ask('동의하십니까?', showOk, showCancel);

    함수 ask의 인수인 showOk와 showCancel은 콜백 함수 또는 콜백이라고 부른다.

     

     

    익명 함수(anonymous function)

    ask(
        '동의하십니까?',
        function() {alert('동의하셨습니다.')},
        function() {alert('취소 버튼을 누르셨습니다.')}
    };

    이름 없이 선언한 함수를 익명 함수라고 부른다.

    이 함수는 ask 바깥에서 접근할 수 없다.

     

     

     

     

     

     

    'Javascript' 카테고리의 다른 글

    코드 품질 - 크롬으로 디버깅하기  (0) 2021.07.02
    기본 - 화살표 함수 기본  (0) 2021.07.02
    기본 - 논리 연산자  (0) 2021.07.01
    기본 - 기본연산자  (0) 2021.07.01
    기본 - 형 변환  (0) 2021.07.01
Designed by Tistory.