320x100
320x100

클로저 (Closure)

주변 상태에 대한 참조화 함께 묶인 함수의 조합으로 내부 함수에서 외부 함수의 범위에 대한 접근을 제공

내부 함수가 자신이 선언된 환경, 즉 외부 함수의 변수나 상태를 기억하고 있다가 나중에 그 환경에 계속 접근하고 사용할 수 있게 해줌

 

const username = 'Yong';

function greeting() {
  const comment = 'Hello';
  
  return function() {
    console.log(`${comment} ${username}`);
  };
}

greeting();

 

greeting 함수가 return 하는 내부함수에서는 전역변수인 username과 외부 함수의 변수인 comment를 사용할 수 있는데

이 것이 바로 클로저의 작동 원리

즉, 내부 함수가 외부 함수의 변수를 기억해 외부 함수가 종료된 이후에도 계속 접근할 수 있는 함수인 것

 

 

 

 

 

 

 

Reference

 

10분 만에 이해하는 자바스크립트 ‘클로저(Closure)’ | 요즘IT

클로저(Closure)는 자바스크립트의 핵심 개념 중 하나이지만, 개발자들이 흔히 어렵게 느끼는 개념이기도 합니다. 공식 문서나 책을 봐도 “클로저는 함수와 렉시컬 환경의 조합입니다”와 같은

yozm.wishket.com

 

300x250
728x90