반응형
javascript는 다른 언어와는 달리 일반적인 블록 스코프를 따르지 않는다.
for(var i=0; i<10; i++) {
var a = i+1;
}
이 for문 밖에서도 i와 a에 접근이 가능하다. 하지만 다른언어에서는 에러가 난다.
그렇다면 Scope는 언제 생길까?
function foo() {
var a= "test";
}
console.log(typeof a=== "undefined");
true가 나온다. function 구문을 통해서 scope가 생성되는 것을 알 수 있다.
try {
throw new exception("dd");
} catch (err) {
var test = "test";
}
catch구문 파라미터 err는 블럭안에서는 당연히 접근 가능하지만 밖에서는 접근할 수 없다.
하지만 catch문안의 test변수는 외부에서 접근 가능하다.
반응형
'프로그래밍 > ' 카테고리의 다른 글
[JavaScript] 자바스크립트 코딩 스타일 규칙 정리 (0) | 2017.12.02 |
---|---|
자바스크립트 프로토타입 (0) | 2017.03.08 |
자바스크립트 변수의 성능 최적화 (0) | 2017.03.06 |
javascript 글로벌 변수에 대해서 (0) | 2017.02.05 |
자바스크립트의 1급객체와 클로저 개념 (0) | 2017.02.01 |