개발 보석함

[Javascript] 클로저(Closure)

by hiSon

클로저(Closure)

외부함수의 변수에 접근할 수 있는 내부함수를 말한다.

var ddd = function() {
    var shiIdx = 0;

    return function(){
        return ++shiIdx;
    };
}();

console.log(ddd());		// 1
console.log(ddd());		// 2
console.log(ddd());		// 3
console.log(ddd());		// 4

위와 같이 내부함수에서 shiIdx라는 외부함수에 있는 변수를 참조하고있는걸 볼 수 있다.

자신을 포함하고 있는 외부함수보다 내부함수가 더 오래 유지되는 경우, 외부 함수 밖에서 내부함수가 호출되더라도 외부함수의 지역 변수에 접근할 수 있는데 이러한 함수를 클로저라고 부른다.

 

참고

https://poiemaweb.com/js-closure

블로그의 정보

개발 보석함

hiSon

활동하기