[Poiemaweb] JavaScript 17~18

Hyobi Lim·2024년 12월 23일

[Poiemaweb] JavaScript

목록 보기
7/15

클로저 - 반환된 내부함수가 자신이 선언됐을 때의 환경인 스코프를 기억하여 자신이 선언됐을 때의 환경(스코프) 밖에서 호출되어도 그 환경(스코프)에 접근할 수 있는 함수
자신이 생성될 때의 환경을 기억하는 함수

function outerFunc() {
  var x = 10;
  var innerFunc = function () { console.log(x); };
  return innerFunc;
}

/**
 *  함수 outerFunc를 호출하면 내부 함수 innerFunc가 반환된다.
 *  그리고 함수 outerFunc의 실행 컨텍스트는 소멸한다.
 */
var inner = outerFunc();
inner(); // 10

자유변수 - 클로저에 의해 참조되는 외부함수의 변수
ex) 위 예제에서 outerFunc 함수의 변수 x

클로저의 활용

  • 현재 상태를 기억하고 변경된 최신 상태를 유지
  • 전역 변수의 사용 억제(전역 변수는 언제든지 누구나 접근할 수 있고 변경할 수 있기 때문에 많은 부작용을 유발해 오류의 원인이 되므로 사용을 억제해야 함)
  • 정보의 은닉
profile
Front-end Developer 💻🔜

0개의 댓글