var

lee jae hwan·2022년 7월 25일

javascript

목록 보기
35/107

var 변수는 오직 함수블럭에만 종속된다.

var변수는 렉시컬환경객체에 등록되면서 undefined로 초기화되어 바로 접근이 가능하다. 이것을 호이스팅이라 한다.

if (false) { // false가 중요한것이 아니다
  var test = true; 
}
alert(test); 

코드블럭내 var 변수는 호이스팅되며 undefined로 초기화되어 항상 접근이 가능하다.


var 변수를 let처럼 코드블럭내에서 사용후 소멸되도록 하는 방법?
(function() {
  var a = 1;
})();
console.log(a);

a변수는 즉시실행함수에서 생성후 소멸되어 에러가 발생한다.

0개의 댓글