ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • javascript 함수 선언식, 함수 표현식
    HTML, CSS, JavaScript 2021. 11. 14. 01:23
    반응형

     댓글 수정 기능을 개선하다 이 개념이 헷갈려 많은 삽질을 하였다. 

     

     먼저 함수 선언식은

    function name(a) {
    ...
    }

    이런 식으로 함수를 만들고, 함수 표현식은

    let name = function(a) {
    ...
    }

    이런 식으로 함수를 만든다.

     

     함수 선언식은 예를 들어

    func();
    
    function func() {
    ...
    }

    처럼 함수가 만들어지기 전에 사용해도 문제가 없다. 왜냐하면 자바스크립트 내부적으로 선언식으로 작성된 함수를 먼저 만들어 놓기 때문이다.

     

     하지만 함수 표현식으로 예를 들어

    func();
    
    let func = function() {
    ...
    }

    와 같이 사용하면 오류가 난다. 왜냐하면 이는 func라는 변수를 만들어 그 안에 어떤 특수한 값이 들어간 것처럼 인식하기 때문이다. 변수가 만들어지기 전에 사용했으므로 당연히 오류가 난다.

     

     댓글 수정 기능을 개선하면서 두 방식 모두 사용해봤는데, 선언식으로 작성하는게 가독성이 좋다. 왜냐하면 표현식으로 만들면 스크립트의 맨 위에 모두 만들어 놓아야 하기 때문이다. 단순히 함수를 만들어 사용하려는 목적이라면 선언식이 더 좋을 것 같다.

    반응형

    'HTML, CSS, JavaScript' 카테고리의 다른 글

    자바스크립트로 댓글 수정 만들기  (0) 2021.11.13
    rest api 활용하기  (0) 2021.11.05
    ajax, url 파싱  (0) 2021.09.24
    getElementById에서 받은 값 사용법  (0) 2021.09.13
Designed by Tistory.