JavaScript 클로져

기모·2023년 6월 27일
0

면접 대비 CS

목록 보기
1/7

클로저 Closure 개념

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

일단 정의는 이렇다.

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

사실 뭔소린지 잘 모르겠고 사용되는 예시를 봐보자.

사용되는 경우

1. 전역 변수의 사용 억제

  • 예를 들어 변수 값을 함수를 통해서만 바꾸고 싶을 때.
  • 변수를 전역변수로 함수 밖에서 바꾸고 싶지 않을 때.
  • 함수 안에 함수를 정의하여 사용한다.
function outer(){
  let x = 0; //지역변수로 사용했기 때문에 함수 밖에서 x를 변경할 수 없음!
  function inner(x){
    x = x+1; //x의 값을 함수를 통해서만 바꾸고 싶을 때
  }
  return inner;//함수 자체를 return 한다.
}

let a = outer(); //a는 inner 함수
a(1);

x = 100; //지역변수이기 때문에 불가능!! => 전역 변수의 사용 억제

2. 상태 유지

이건 차차...

참고
유튜브 라매개발자 - 자바스크립트 클로저 실용적이고 쉬운 설명

profile
안녕하세용

0개의 댓글