function foo() { return 100; }
function bar() { return foo; }
const result = bar(); // result는 함수 foo
console.log(result()); // 100
const calculate = () => (n1, n2) => n1 * n2;
console.log(calculate()(10, 3)); // 30
function increaseClosure() {
let count = 0;
return {
increaseCount: () => ++count,
decreaseCount: () => --count
};
}
const { increaseCount, decreaseCount } = increaseClosure();
increaseCount(); // 1
increaseCount(); // 2
decreaseCount(); // 1
function debounce(callback, delay) {
let timerId = null;
return function (args) {
clearTimeout(timerId);
timerId = setTimeout(() => callback(args), delay);
};
}
function throttle(callback, delay) {
let timerId = null;
return () => {
if (!timerId) {
timerId = setTimeout(() => {
callback();
timerId = null;
}, delay);
}
};
}
scrollY + innerHeight >= offsetHeight - 여유값 조건으로 하단 도달 체크✅ 총정리