8/23 회고 - debounce.ts (with TypeScript)
·
✨회고
오늘은 어려웠던 debounce 함수에 대해 회고를 해보려고 한다.type Timer = ReturnType | null;const debounce = ) => ReturnType>(fn: T, timeout = 300) => { let timer: Timer = null; const debounced = (...args: Parameters) => { if (timer) clearTimeout(timer); timer = setTimeout(() => { fn(...args); }, timeout); }; debounced.cancel = () => { if (timer) { clearTimeout(timer); timer = null; } ..
as const의 용도
·
TS
타스 입문자인 내 머리로는 아무리 봐도 이해가 안되는 개념을 gemini가 잘 정리해줘서 기록해보려고 한다. 기본 개념 타입스크립트에서 `as const`는 값의 타입을 최대한 좁게 추론하도록 지시하는 타입 단언(type assertion)의 한 형태입니다. 즉, 변하지 않는 상수로 취급하여 더 구체적인 타입을 얻고자 할 때 사용됩니다. 한 줄 요약: `as const`는 타입을 최대한 좁게 추론하게 만든다. as const의 존재 이유와 용도1. 리터럴 타입 추론 (Literal Type Inference)일반적으로 타입스크립트는 변수에 할당되는 값의 타입을 추론할 때, 가능한 한 넓은 타입을 부여하는 경향이 있습니다. 예를 들어, let x = 'hello';라고 하면 x의 타입은 'hello'가 ..