happy cat image

everdevel

Brand New Day

login
알림X
  • 현재 댓글에 대한 답변만 표시합니다.
  • 표시할 댓글 이력이 없거나 로그인해 주세요.

EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기
에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

함수 표현식

함수 표현식에 대해서 알아보겠습니다.

앞에서 우리가 사용했던 함수 선언 방식은 함수 선언식이라고 부릅니다.

즉, 다음과 같은 방법은 함수 선언식입니다. 가장 기본적인 방법이지요.

function 함수명(){
}

함수 표현식은 다음과 같이 함수를 선언합니다.

var 변수명(함수명) = function(){

};

변수명이 즉 함수명이며 함수를 호출하는 방법은 함수 선언식과 동일합니다.

var sum = function(){

};
sum();
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>EVERDEVEL - JavaScript</title>
<script>
    var sum = function(param1, param2 = 3, param3 = 10){
        document.write(param1 + param2 + param3 + '<br>');
    }

    sum(1);
    sum(1,2);
    sum(1,2,3);
</script>
</head>
<body>
</body>
</html>

로그인을 하지 않은 상태에서도 이제 위의 코드를 실행 할 수 있습니다.
PLAY CODE 버튼 클릭 후 광고없이 횟수제한없이 코드를 실행 할 수 있습니다.
LOGIN

결과

JavaScript function-expressions

단, 함수표현식을 사용할 때는 한가지 주의점이 있습니다.

함수선언식은 함수를 먼저 호출하는 코드를 넣은 후에 함수를 선언해도 상관이 없습니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>EVERDEVEL - JavaScript</title>
<script>
    sum(1);
    sum(1,2);
    sum(1,2,3);

    function sum(param1, param2 = 3, param3 = 10){
        document.write(param1 + param2 + param3 + '<br>');
    }
</script>
</head>
<body>
</body>
</html>

로그인을 하지 않은 상태에서도 이제 위의 코드를 실행 할 수 있습니다.
PLAY CODE 버튼 클릭 후 광고없이 횟수제한없이 코드를 실행 할 수 있습니다.
LOGIN

결과

JavaScript function-expressions

위와 같이 함수선언식은 함수를 먼저 호출하고 그 후에 함수를 선언해도 문제가 없습니다.

즉 자바스크립트 런타임이 함수를 먼저 인지하는것이죠.

하지만 함수 표현식은 반드시 함수가 먼저 선언된 후에 함수를 호출해야합니다.

그렇지 않으면 함수를 인지하지 못하고 오류가 발생합니다.

해봅시다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>EVERDEVEL - JavaScript</title>
<script>
    sum(1);
    sum(1,2);
    sum(1,2,3);

    var sum = function(param1, param2 = 3, param3 = 10){
        document.write(param1 + param2 + param3 + '<br>');
    }
</script>
</head>
<body>
</body>
</html>

로그인을 하지 않은 상태에서도 이제 위의 코드를 실행 할 수 있습니다.
PLAY CODE 버튼 클릭 후 광고없이 횟수제한없이 코드를 실행 할 수 있습니다.
LOGIN

결과

JavaScript function-expressions

위와 같이 콘솔탭을 보면 sum is not a function 이라고 뜹니다. 주의하여 사용하시기 바랍니다.

봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준