Scope(유효범위)
JavaScript의 문법이 아닌 모든 프로그래밍 언어에서의 영역에 대한 개념이다.
block{}
내부에서 변수가 정의되면 그 변수는 오로지 block 내부에서만 사용할 수 있다. block 내부에서 정의된 변수를 local variable(지역 변수)라고 부른다.
Global(전역) Scope
block 밖인 전역에서 만든 변수를 global variable(전역 변수)라고 한다. 코드 어디서든 접근 가능해 변수값을 확인할 수 있다.
원인을 알 수 없이 변하는 변수가 생기는 것을 방지하려면 block scope로 최대한 나눠야 한다.
scope pollution
위처럼 의도하지 않게 변수값이 변하고 이로 문제가 생기는 것을 오염되었다고 표현한다.
switch
if문과 유사하며 여러 조건에 따라 다른 작업을 수행한다.
switch()의 데이터와 case 뒤의 데이터를 비교하여 일치하면 실행, 일치하지 않으면 다음 case로 넘어간다.
switch (var) {
case 0 : 실행문A; break;
case 1 : 실행문B; break;
default : 실행문C;
}// 여기에서 case 다음에는 상수(변하지 않는 값)만 들어갈 수 있다.(ex: var = 상수)
// break를 걸어주지 않으면 실행이 종료되지 않고 그 다음 실행문까지 실행된다.
// 모든 case와 일치하지 않을 경우, default가 실행되고 종료된다.
switch문에서는 여러 케이스가 일치하면 첫 번째 케이스가 선택된다.
default가 없으면 switch문 이후의 명령문으로 계속 진행된다.