JavaScript_Study [ Closure (클로저) ]

이준석·2023년 4월 9일
0

JavaScript_Study

목록 보기
13/35
post-thumbnail

2021-09-23 노션페이지,
2021-10-04 노션페이지
기록된 노션을 다시 정리

어려웠던 부분

  • 클로저의 실제 사용 예시
  • 익숙하지 않은 코드

클로저의 개념

  • 클로저는 자바스크립트 고유의 개념이 아니다.
  • 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어에서 사용되는 중요한 특성이다.

    클로저는 함수와 그 함수가 선언됐을 때의 렉시컬 환경(Lexical environment)과의 조합이다.

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

클로저의 활용

  • 상태 유지
  • 전역 변수의 사용 억제
  • 정보의 은닉
function Counter() {
  // 카운트를 유지하기 위한 자유 변수
  var counter = 0;

  // 클로저
  this.increase = function () {
    return ++counter;
  };

  // 클로저
  this.decrease = function () {
    return --counter;
  };
}

본인 클로저 주요 정리

  • 외부함수가 종료되었어도 내부에 선언된 변수에 접근할 수 있도록
  • 의도치 못한 접근을 방지할 수 있음 => 안전함

참조: poiemaweb.com

0개의 댓글