클로저, 어렵지 않아요
pingulee조회 0 · 댓글 0
클로저는 함수가 선언될 때의 스코프를 기억하는 것이다. 그게 전부다.
function counter() {
let n = 0;
return () => ++n;
}
const next = counter();
next(); // 1
next(); // 2흔한 실수
반복문에서 var로 인덱스를 캡처하면 모든 콜백이 같은 변수를 본다. let은 블록마다 새 바인딩을 만들어 이 문제를 없앤다.
어디에 쓰나
모듈 패턴, 이벤트 핸들러의 상태 유지, 디바운스 구현 등 상태를 숨기고 싶을 때마다 클로저가 등장한다.
댓글 0
첫 댓글을 남겨보세요.