[JS] 전역객체를 통한 변수접근 질문
조회수 507회
var a = 10;
function f () {
var a = 100;
console.log(a);
console.log(window.a);
}
f();
이렇게 var를 통해 변수를 선언해서 함수 내에서 전역객체에 접근하여 동일한 이름의 전역변수를 참조하는 건 가능한데
const a = 10;
function f () {
const a = 100;
console.log(a);
console.log(window.a);
}
f();
이렇게 const나 let을 통해 선언을 하면 window.a가 undefined를 뱉어내네요.. 공부중에 왜 이런일이 생기는지 궁금해서 질문 올려봅니다.. ㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
자바스크립트에는 호이스팅(hoisting)이라는 현상이 있습니다.
질문자의 현상은 호이스팅으로 인해 발생합니다.
저는 아래 링크보다 잘 설명할 자신이 없으므로 링크로 대신합니다.
댓글 입력