728x90
★ 클로저, CLOSURE
- 아래와 같은 상황을 클로저라고 부름
- 지역 함수에서 밖의 상위 변수를 사용하는 구문 존재 >
- 상위 지역 변수 소멸(X) >
- 임시 공간에 살려둠. > 나중에 호출 위해서
//지역 함수
return function() {
//여기서 a가 찍힌다??
//- 지역 함수에서 밖의 상위 변수를 사용하는 구문 존재 > 상위 지역 변수 소멸(X) > 임시 공간에 살려둠. > 나중에 호출 위해서
console.log('return : '+ a);
};
■ 지역별 함수
function outer() {
//지역 변수 (outer)
let a = 10;
console.log('a', a);
//지역 함수(outer)
function inner() {
console.log('inner');
//지역 변수(inner)
let b = 20;
console.log('b', b);
console.log('a', a);
}
inner();
// console.log('b', b);
//지역 함수
return function() {
//여기서 a가 찍힌다??
//- 지역 함수에서 밖의 상위 변수를 사용하는 구문 존재 > 상위 지역 변수 소멸(X) > 임시 공간에 살려둠. > 나중에 호출 위해서
console.log('return : '+ a);
};
}//outer
const result = outer();
result();
// inner(); > 불가능
728x90
'웹페이지' 카테고리의 다른 글
JAVASCRIPT STEP 43 - CSS(JAVASCRIPT ver) (0) | 2023.04.27 |
---|---|
JAVASCRIPT STEP 42 - Template, Event (0) | 2023.04.27 |
JAVASCRIPT STEP 40 - Arrow, Stream (0) | 2023.04.27 |
JAVASCRIPT STEP 39 - DOM 예제 (0) | 2023.04.27 |
JAVASCRIPT STEP 38 - ManiPulation (0) | 2023.04.26 |