Performance Optimization Techniques

What performance technique does this code implement?
const debounce = (fn, delay) => {
  let timeoutId;
  return function(...args) {
    clearTimeout(timeoutId);
    timeoutId = setTimeout(() => {
      fn.apply(this, args);
    }, delay);
  };
};

window.addEventListener('resize', debounce(function() {
  // Recalculate layout
  console.log('Window resized');
}, 200));
Next Question (27/40)