Loading...
잠시만 기다려 주세요.
Exclude 유틸리티 타입은 유니온 타입에서 특정 타입을 제외하는 데 사용되며, 객체 타입의 키를 직접 제외하는 용도로는 적합하지 않다. 🚫CombineExclude와 같은 커스텀 유틸리티 타입은 Exclude의 한계를 극복하기 위해 필요하다. 🛠️Combine 타입은 두 객체를 병합할 때, 공통된 키에 대해서는 해당 키의 값 타입을 유니온으로 처리하여 유연성을 제공한다. 🤝Parameters<T>는 함수 T의 매개변수 타입을 튜플 형태로, ReturnType<T>는 함수 T의 반환 타입을 추출하여 함수의 타입을 추론하는 데 매우 유용하다. 📝debounce, throttle)를 작성할 때, 콜백 함수 자체를 제네릭(T extends Function)으로 정의하면 타입 추론이 용이하고 any 사용을 최소화할 수 있다. 🔄setTimeout과 같은 웹 API의 반환 타입은 브라우저(number)와 Node.js(NodeJS.Timeout) 환경에 따라 다르므로, ReturnType<typeof setTimeout>과 같이 플랫폼에 독립적인 타입을 사용하는 것이 좋다. 🌐extends 제약 조건을 추가하는 것은 타입 안정성을 높이고, Parameters나 ReturnType와 같은 유틸리티 타입이 올바르게 작동하도록 보장하는 핵심적인 방법이다. ✅any 대신 unknown을 사용하여 더 엄격한 타입 검사를 유도할 수 있지만, 매우 범용적인 라이브러리에서는 unknown 사용 시 필요한 타입 가드 때문에 를 선택하는 경우도 있다. 🤔anymemoize와 같은 캐싱 함수를 타입스크립트로 구현할 때는 동적인 인자를 처리하고, 캐시 키를 인자로부터 생성하며, Record<string, ReturnType<F>>와 같은 타입을 사용하여 캐시를 정의하는 것이 효과적이다. 🧠Parameters<F>는 튜플 타입이므로 sort()와 같은 배열 메서드를 직접 사용할 수 없으며, [...args]와 같이 스프레드 문법을 사용하여 배열로 변환해야 한다. 🧩<T>를 HTML 태그로 오인하는 문제를 피할 수 있어 권장된다. ➡️extends 제약 조건과 구체적인 타입을 추가하며 개선해 나가는 반복적인 과정을 통해 완성된다. 📈Recommanded Videos

2024. 6. 28.

2025. 7. 18.

2025. 6. 30.

2023. 4. 19.
![[P.E.C 졸업생 인터뷰] 회사 사정이 어려울 때, 개발자는 어떻게 해야할까?](https://i1.ytimg.com/vi/DPJ0BqIJvtE/hqdefault.jpg)
2025. 10. 2.

2024. 8. 3.