Closure

Jeein Han·2024년 8월 24일

CS 지식

목록 보기
2/2

키워드

렉시컬 환경
함수의 중첩

  • 전역 lexical 환경 > 외부 lexical 환경 > 내부 lexical 환경
  • 함수가 실행되는 즉시 새로운 Lexcial 환경이 생긴다.
  • 클로저란?
    함수와 렉시컬 환경의 조합으로, 함수가 생겨서 렉시컬 환경을 새로 만들 때, 그 외부의 lexical 환경(외부 변수)을 기억해서 계속 접근할 수 있다. 생성 이후에도 계속 접근 가능.
    외부 lexical 환경을 기억하기 때문에 함수 바깥의 변수도 참조할 수 있다.
function makeCounter() {
  let num = 0; // 은닉화
  
  return function (){
    return num++;
  }
}

let counter = makeCounter();

console.log(counter()); // 0
console.log(counter()); // 1
console.log(counter()); // 2

💡Reference
[Youtube] 자바스크립트 중급 강좌 #11 클로저(Closure) 5분만에 이해하기
[JS] Closure(클로저)의 개념, 특징, 장점, 예시

0개의 댓글