개발 보석함

[Javascript] 함수의 종류(선언문식, 표현식, 익명함수)

by hiSon

함수는 크게 나누면 선언문식 함수와 표현식 함수로 나눌 수 있다.

1. 선언문식 함수

함수를 선언할 때 이름을 붙여주는 함수이다. 즉, 따로 변수에 넣어주지 않고 선언할 때 붙여준 이름으로 호출한다.

function aaa(){
	console.log("첫번째");
}

 

함수 hoisting

함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단인 실행 컨텍스트에 선언하는 것을 말한다.

이때 선언문식 함수는 함수 호이스팅 대상이다.

따라서 

aaa();

function aaa(){
	console.log("첫번째");
}

위와 같은 형태로 함수를 선언한 이전 줄에 해당 함수를 호출해도 오류가 뜨지 않고 정상 작동된다.

2. 표현식 함수

익명함수를 변수에 담아 호출하는 함수이다. 함수 호이스팅에 해당되지 않는다.

따라서 함수 선언 이전 줄에 호출을 하려고하면 오류메시지가 뜨게된다.

xxx();			// 오류

var xxx = function(){
	console.log("두번째");
};

3. 익명 함수

이름을 붙이지 않는 함수를 말한다. 여러번 호출 할 필요가 없이 한 번만 호출하고 싶을 때 사용한다.

(function() {
    console.log("세번째");
})();

 

블로그의 정보

개발 보석함

hiSon

활동하기