개발자/JavaScript

클로저(closure) 함수

봉구리 2023. 3. 12.

클로저 함수란?

 

함수 내부에 선언된 변수를 외부에 사용할수 있게 해주는것

 

클로저를 사용하면 함수 내부에서 생성한 변수를 외부에서 변경할 수 없음.

따라서, 함수 내부에서 생성한 변수를 보호할 수 있다

 

function makeCounter() {
  let count = 0;

  function increment() {
    count += 1;
    console.log(count);
  }

  function decrement() {
    count -= 1;
    console.log(count);
  }

  return {
    increment,
    decrement,
  };
}

const counter = makeCounter();
counter.increment(); // 1
counter.increment(); // 2
counter.decrement(); // 1

일반 함수와 내부함수(클로저)의 차이점

일반함수와 클로저의 가장 큰 차이점은 아래와 같다.

 

  1. 은닉화와 캡슐화를 지원한다
  2. 외부함수가 소멸한 후에도 환경(변수)을 기억하고 이를 제공한다

 

'개발자 > JavaScript' 카테고리의 다른 글

체크박스 체크가 안됐을때도 값을 저장 하고 싶다면  (0) 2023.05.22
jQuery  (0) 2023.03.20
for in / for of 반복문  (0) 2023.03.19
DOM  (0) 2023.03.18
callback 함수  (0) 2023.03.12

댓글