클로저(closure)는 내부함수와 밀접한 관계를 가지고 있는 주제다. 내부함수는 외부함수의 지역변수에 접근 할 수 있는데 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근 할 수 있다. 이러한 메커니즘을 클로저라고 한다.
var a = 1;
function freeAdder(b) {
return function(c) {
return a + b + c;
}
}
var add2 = freeAdder(2);
add2(3); // 6
- [[scope]] 참조하여 내부함수에서 외부함수 변수 사용
'Web > Javascript' 카테고리의 다른 글
렉시컬 환경(Lexical Environment) (0) | 2017.03.14 |
---|---|
실행 콘텍스트 (0) | 2017.03.14 |
바인딩(Binding) (0) | 2017.03.14 |
글로벌 오브젝트 (0) | 2017.03.14 |
스코프(Scope) (0) | 2017.03.14 |