[JS] 스코프 Scope

스코프는 변수에 접근할 수 있는 범위 이다. 자바스크립트는 기본적으로 ES5까지는 함수 단위 스코프를 지원했고 ES6에 와서 블록 단위 스코프를 지원한다. var가 함수 단위의 스코프를 지원하고 let, const가 블록 단위 스코프를 지원한다. var, 함수 단위 스코프 if 나 for 문 같은 블록의 변수는 공유되나 함수 스코프 내의 변수는 공유하지 않는다. var a=1; // 전역 스코프 // if, for와 같은 블록은 같은 스코프라고 인식해서 블록을 지나도 해당 변수에 // 접근할 수 있다. if(true){ var a=2; } // 함수 내에서 선언된 변수는 함수 스코프를 지원하므로 함수 밖에서는 해당 변수에 // 접근할 수 없다. function test(){ var b=3; console..