본문 바로가기

Web/Javascript

클로저(closure)

클로저(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