본문 바로가기

JavaScript/DAY 35 _ 23.10.12

closure function

        // 클로저 함수(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