JavaScript 호이스팅(Hoisting)

Jun·2021년 1월 21일
0

함수 호이스팅(Hoisting)이란?

C++에서는 함수 Prototype 이라는 개념이다.
컴파일이 실행이 될 경우 함수를 포함하여 모든 라인이 순서대로 읽히게 되는데 함수가 선언되기 전에 호출이 되면 에러가 나타나게 된다. 이를 방지하기위해 미리 이런 함수가 있다는 것을 인식시켜주어야 한다.

Ex) function (x);
void function(int x);
이 경우에는 함수를 먼저 정의하지 않아 에러가 발생함

Javascript 에서는 C++ prototype 과는 다르게 var변수 선언과 함수 선언문 에서만 호이스팅(Hoisting)이 일어나는데 이는 함수 호출이 실행이 되기 전에 Var변수와 함수의 선언만 맨 위로 끌어올려 정보를 기억해둔다. (할당은 끌어올려주지 않음).

Ex_1) 함수 선언 최상단으로 끌어올려 지기 때문에 함수 정의를 먼저 기억하고 호출하게됨.

	a();
	b();

	function a(){
		console.log('Hello world');
	}

	function b(){
		console.log('Hello world2');
	}

  

함수 선언식
function name()
{
}

함수 표현식 ( 변수에 함수 결과값을 저장함)

var name = function name()
{
}


0개의 댓글

관련 채용 정보