클로저(Closure)

Seungmin Lim·2022년 1월 14일
0

JavaScript

목록 보기
13/41

원래 함수는 호출이 되고 종료되면 해체되는데
f2()에서 자신만의 a가 없으니 f1()이 이미 호출됐음에도 불구하고
닫지 못하고 그대로 남아있다.

function f1(){
var a = 1;
return function f2(){
	return a;
    }
}
var f = f1();
var a = f();
alert(a); //1

이때, 그 함수를 닫을수 있는 키 같은 역할을 하는게 클로저(Closure)가
function f2(){ return a; } 부분이다.

클로저를 통해서 자원이 묶일수 있는데,
그것을 자신이 알고 있는게 중요하다.

0개의 댓글