태그 보관물: Hoisting

Hoisting

Hoisting

  • Javascript는 함수 scope 를 갖는다.
  • 모든 선언문은 (ex : var x)  함수 실행 맨 첫번째로 실행된다.
  • 할당(assignment)는 구문 실행시 해석된다.

Example 1.

var x = 5;
var y = 7; 
console.log(x + ” ” + y); 
> 결과 : 5 + 7

Exmple 2.

var x = 5; 
console.log(x + ” ” + y);
var y = 7;
> 결과 : 5 + undefined

위의 코드를 Javascript 엔진이 해석할 때는 아래와 같다.

var x = 5;
var y; 
console.log(x + ” ” + y);
y = 7;

이러한 Hoisting 으로 때문에 개발자는 예상치 못한 오류를 만날 수 있기 때문에
한 함수 안에서 모든 선언문은 명시적으로 함수 맨 처음에 선언해주는 것이 좋다.

태그 지정됨 , , ,