Debouncing delays function execution to optimize performance.
Debouncing is useful for limiting high-frequency events like resizing or typing.
Example:
function debounce(func, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => func.apply(this, args), delay);
};
}
const search = debounce(() => console.log("Searching..."), 300);
search();