클로저 함수란?
함수 내부에 선언된 변수를 외부에 사용할수 있게 해주는것
클로저를 사용하면 함수 내부에서 생성한 변수를 외부에서 변경할 수 없음.
따라서, 함수 내부에서 생성한 변수를 보호할 수 있다
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
일반 함수와 내부함수(클로저)의 차이점
일반함수와 클로저의 가장 큰 차이점은 아래와 같다.
- 은닉화와 캡슐화를 지원한다
- 외부함수가 소멸한 후에도 환경(변수)을 기억하고 이를 제공한다
'개발자 > 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 |
댓글