[JS] 클로저 간단 정리
이채현
- 클로저는 먼저 자바스크립트 변수의 유효범위를 이해해야한다.
- 클로저를 명확히 무엇이다라고 말하기는 어렵다.
1 | function returnX(){ |
은닉화
1 | function privateData() { |
활용사례
고민해봤을 때 debounce와 throttle에서 …사용
- debounce: 어떤 이벤트를 실행할 때 과하게 실행되는 것을 지연시켜주는 역할 (클릭지연..무한스크롤 지연)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16buttonElement.addEventListener(
'click',
debounce(handleClick, 500),
)
function debounce(func, timeout = 300) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);
})
}
}
[JS] 클로저 간단 정리