26 변수 가림 현상
서로 다른 함수에서 같은 변수를 선언했을 때 발생하는 변수 가림 현상에 대해 살펴보겠습니다. 변수 가림 현상은 셰도잉(shadowing) 효과라고도 부릅니다.
코드 shadowing.js
function shadowing_example( ) { console.log("F", val); // 함수 안에서 변수 val의 값 출력 ➊ val++; // val 값을 1 증가 } var val = 0; // 함수의 바깥에서는 변수 val을 선언하고 0으로 초기화 shadowing_example( ); // 함수 호출 console.log("O", val); // 가장 바깥에서 변수 val의 값 출력 ➋
브라우저에서 실행하면 다음과 같이 출력됩니다.
실행 결과
F 0 O 1