[js] var 변수는 함수만 scope로 인정한다?

lilyoh·2020년 7월 25일
0
  • var 변수는 전역 변수이기 때문에 let 과 const 를 쓰는 것이 안전하다.
  • 그러나 함수에 한정해서 var 변수는 지역 변수이다.
  • 이게 무슨 말이지?
function test() {
  var a = 10;
  console.log(a);
}

test(); // 10

a = 20;

test(); // 10
  • var 변수가 전역 변수라는 것은 어디서나 var 변수의 값을 재할당 가능하다는 뜻이다.
  • 그러나 a = 20 으로 값을 재할당하고 난 뒤에 함수를 호출을 해도 a 의 값은 여전히 10 인 것을 확인할 수 있다.
  • 그러므로 var 변수는 함수만 scope 으로 인정한다는 것이 참이 된다.

참고자료

0개의 댓글