JS Closure

sang hyeok Lee·2022년 4월 11일
0

JS Closure

클로저란 일반적으로 어떤 함수가 자신의 내부가 아닌 외부에서 선언괸 변수에 접근하는 것을 의미 한다.

function convertUsdToKrw(dollar) {
  const rate = 1113.5;
  return dollar * rate;
}

> convertUsdToKrw(5)
//5567.5

위 예시는 convertUsdToKrw함수가 선언이 되어져 있고 5를 인자로 받아 매개변수 dollar로 쓰고 있다 이때, rate변수는 함수 내부에서 선언이 되어져 있고 거기에 접근을 하고 있다.

const rate = 1113.5;

function convertUsdToKrw(dollar) {
  return dollar * rate;
}

convertUsdToKrw(5)
//5567.5

위 예시는 먼저 봤던 예시에서 rate변수만 밖으로 빠져있다. 실행을 했을 때 잘 동닥하는 것을 알 수 있다.
이렇게 자바스크립트에서 함수는 매개 변수와 로컬 변수 뿐만 아니라 외부에서 선언된 변수도 자유롭게 접근을 할 수 있다. 그리고 이렇게 함수가 자신의 밖에서 선언된 변수에 접근하는 것을 클로저라고 한다.

Closure의 장점

  1. 데이터를 보존할 수 있다.
  2. 정보의 접근 제한 (캡슐화)
  3. 모듈화에 유리하다.
profile
개발자 되기

0개의 댓글