Var와 호이스팅

|

오래된 var

var는 블록스코프가 없다.
var로 선언한 변수는 함수 스코프이거나 전역 스코프이다. 떄문에 블록 밖에서 접근 가능하다.

호이스팅

호이스팅이란 변수가 끌어 올려지는 현상을 말하는데, 주로 var에서 나타난다고한다.
변수를 먼저 선언후,변수를 콘솔찍은 다음에 변수를 할당해주는거를 호이스팅이라고 하는것같다.

EX)

var name;
console.log(name);
name = '중식';
//결과
중식;

위의 코드처럼 변수할당을 나중에해줘도 변수가 위로 끌어올려져서 콘솔이 잘 찍히는 모습이다.
호이스팅에는 중요한점이 있다.

선언은 호이스팅 되지만, (EX)var name;
할당은 호이스팅 되지않는다. (ex) var name = "정중식"