- 모든 코드 블록(함수, if 문, for 문, while 문, try/catch 문 등) 내에서 선언된 변수는 코드 블록 내에서만 유효하며 코드 블록 외부에서는 참조할 수 없다.
- es6버전에 등장한 let, const는 블록 스코프 밖에서 접근할 수 없다.
for(let i = 0; i < 5; i++) {
var word1 = 'aaa';
let word2 = 'bbb';
const word3 = 'ccc';
}
console.log(word1);
console.log(word2);
console.log(word3);
위 코드를 실행하면 var 이외의 let, const 변수는 정의되지 않았다는 에러문구가 출력된다.
참고
블록 스코프