Javascript

JS : 클로저란?

죽이죽이 2024. 2. 9. 17:54

클로저란?

※ 정의
- 클로저는 함수와 그 함수가 선언되었을때의 렉시컬 환경의 조합으로, 내부 함수를 사용해 외부 함수의 범위에 접근을 할 수 있게 하는 기능을 제공한다.
- 이런 기능을 사용해 전역 변수의 남용을 막을 수 있고 특정 변수의 값을 은닉하는 용도로도 사용할 수 있다.

※ 사용 방법
function outerFunction() {
  // 외부 함수의 지역 변수
  let outerVariable = 10;

  // 내부 함수 (클로저)
  function innerFunction() {
    // 외부 함수의 변수에 접근
    console.log(outerVariable);
  }

  // 내부 함수 반환
  return innerFunction;
}

// outerFunction을 호출하고 반환된 함수를 변수에 할당
let closureExample = outerFunction();

// 반환된 함수 호출
closureExample(); // 출력: 10​