본문 바로가기
프로그래밍/JavaScript

자바스크립트 클로저 Closure

by 원피스랜드 2020. 12. 23.
반응형

function outer () {

    var count = 0;    // #1

    var inner = function () {    // #2

        return ++count;

    };

    return inner;    // #3

}

var increase = outer();    // #4

 

increase();    // === 1    #5

increase();    // === 2

 

* scope의 개념으로 볼 때에 #4, #5 등 outer 함수 외부에서는 outer 함수의 local 변수인 #1의 count에 접근할 방법이 없게 된다. 사용자의 접근을 제한하고, 변수의 조작을 불가능하게 하기 위해서 closure를 사용한다.

 

자바스크립트에서도 일반적인 객체지향에서 말하는 private 개념이 적용이 가능한 것이다

이것이 closure의 가장 기본적인 특징이고 개념이 되는 것이다.

반응형

댓글