// 클로저 함수(closure function)
// 다른 함수의 내부에서 정의되고 외부 함수의 변수에 접근할 수 있는 함수를 의미합니다.
// 클로저는 내부 함수와 그 함수가 정의된 외부 함수 사이의 스코프 체인을 유지하며,
// 외부 함수가 실행을 완료한 후에도 외부 함수의 변수에 접근할 수 있습니다.
function test1(){
const v1 = 10;
const v2 = 20;
console.log("test1 호출");
// 익명함수
const subFunc1 = function(){
const v3 = 50;
console.log("subFunc1호출됨");
console.log("v3 : " + v3);
// ★ 외부 변수를 내부에서 사용하려고 한다 (= 클로저)
console.log("v2 : " + v2);
};
return subFunc1;
// 람다식
const subFunc2 = () => {};
}
const qqq = test1(); // test1 호출
// --> 여기서 qqq가 subFunc1을 리턴받고
// A.
qqq();
// subFunc1호출됨
// v3 : 50
// v2 : 20
'JavaScript > DAY 35 _ 23.10.12' 카테고리의 다른 글
Class★ (0) | 2023.10.12 |
---|---|
Class basic, prototype (0) | 2023.10.12 |
JSON (0) | 2023.10.12 |
closure function2 (0) | 2023.10.12 |
return (0) | 2023.10.12 |