스코프는 이름이 충돌하는 문제를 덜어주고, 자동으로 메모리를 관리한다.
스크립트 어디에서든 접근이 가능한 스코프로 협업과 라이브러리 사용시 충돌 가능성이 있다.
함수 내부에서 정의된 변수와 매개변수는 함수 외부에서 접근할 수 없다. 함수 내부에서 정의된 변수라면 함수의 어느 부분에서도 접근 가능하다.
if(true) {
var value == "hello";
}
console.log(value);
//"hello"
if(true) {
let value == "world";
}
console.log(value);
//"hello"
블록 스코프는 블록 안에서만 유효하고 접근 가능하다. let, const로 선언하면 블록 스코프가 된다.