코딩 공부

JavaScript - debounce 함수 직접 구현하기

새혀니 2025. 3. 31. 00:05

function debounce(fn, delay) {
  let timer = null;

  return (...args) => {
    clearTimeout(timer);
    timer = setTimeout(() => {
      fn(...args);
    }, delay);
  };
}

// 사용 예시
const onSearch = debounce((query) => {
  console.log('Searching for:', query);
}, 300);

onSearch('he');   // 무시
onSearch('hey');  // 무시
onSearch('heyy'); // 300ms 뒤 실행