클로저 (closure)는 내부함수가 외부함수의 맥락에(context)에 접근 할수 있는 것을 가르킵니다. 클로저는 자바스크립트를 이용한 고난이도의 테크닉을 구사하는데 필수적인 개념으로 활용됩니다.
내부함수
자바스크립트는 함수 안에서 또 다른함수를 선언할수 있습니다.
function outter() {
function inner(){
let title= 'coding evertbody';
alert(title);
}
inner();
}
outter();
출력하면 coding everybody가 출력됩니다.
outter함수는 외부함수입니다. 안에 있는 inner()함수가 내부함수입니다.
다시 말해보자면 inner()함수는 let inner =function{} 와 같습니다.
내부 함수는 외부함수의 지역변수에 접근할 수 있다. 아래의 예제를 보자. 결과는 coding everybody이다.
function outter() {
let title='coding everybody'
function inner(){
alert(title);
}
inner();
}
outter();
이것을 바로 클로저라고 합니다
'JAVASCRIPT' 카테고리의 다른 글
arguments (0) | 2020.11.03 |
---|---|
클로저2 (0) | 2020.11.02 |
콜백 -처리의 위임 (0) | 2020.11.01 |
함수의 용도2 (0) | 2020.11.01 |
값으로서의 함수 (0) | 2020.11.01 |