JAVASCRIPT

[JavaScript] 07. 클로저

송우든 2020. 10. 26. 03:10
728x90

# 클로저(Closure)

클로저란, 이론적으로는 독립적인 변수를 가리키는 함수, 내부 함수가 외부 함수의 환경을 기억하는 것을 말합니다. 

아래의 코드를 예로 들자면,

function outter(){

    // 외부 함수에 정의된 지역변수
    let str = "Closure!";

    function inner(){
        return str;
    }

    return inner();
}

let result = outter();

console.log(result); // 출력 : Closure!
    
    

내부 함수(inner())는 외부 함수(outter())에 정의된 지역변수에 접근이 가능한데요.

 

이로 인해 외부 함수가 return문을 만나 종료됐음에도 불구하고 다음과 같이 내부 함수가 외부 함수의 변수에 접근할 수 있습니다.

이것을 클로저라고 합니다.

 

클로저를 사용하면 변수를 은닉하여 지속성을 보장하거나 데이터를 캡슐화하는 등 다양한 기능을 구현할 수 있습니다. 

728x90