[JavaScript] 07. 클로저(Closure)

송우든·2021년 5월 31일

JavaScript

목록 보기
7/17
post-thumbnail

오늘은 자바스크립트 클로저(Closure)에 대한 개념을 다루어 보려고 해요!

💡클로저(Closure)

이론적으로 독립적인 변수를 가리키는 함수
내부 함수가 외부 함수의 환경을 기억하는 것을 의미

아래 코드를 통해 클로저에 대해 알아보겠습니다.

function outter(){

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

    function inner(){
        return str;
    }

    return inner();
}

let result = outter();

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

위 코드를 보면 inner()함수는 outter()에 정의된 변수 str에 접근이 가능합니다.
이렇기 때문에 outter()가 return문을 만나서 종료됐음에도 불구하고 inner()함수가 변수 str에 접근할 수 있습니다.

이것을 클로저 라고 하는데요!

이렇게 클로저를 사용하면 아래와 같은 장점이 있습니다.

  1. 변수를 은닉하여 지속성을 보장할 수 있다.
  2. 데이터 캡슐화 -> 다양한 기능 구현이 가능하다.

클로저(Closure)는 중요한 개념이니 한번 더 다루어 보도록 할게요!

참고 자료 및 사이트

JAVASCRIPT.INFO

profile
개발 기록💻

0개의 댓글