Electron

ReturnType<T>

vamosdev12 2025. 3. 6. 11:20
const countDownRef = React.useRef<ReturnType<typeof setInterval>>();

ReturnType<T>는 제네릭 유틸리티 타입으로, 함수 T의 반환타입을 추출하는 역할

// 1.
unction myFunction() {
  return 42;
}

type MyReturnType = ReturnType<typeof myFunction>; // number를 가져옴


// 2.
const value = "Hello";
type ValueType = typeof value; // string을 가져옴

 


 

* typeof

 

- JavaScript에서 변수나 값의 타입을 가져오는 연산자인데, TypeScript에서는 타입 추론용 키워드로 사용됨.

 

typeof를 ReturnType과 함께 사용하면, 특정 함수의 반환 타입을 안전하게 가져올 수 있음.

(typescript에서는 그냥 세트로 쓰면 된다고 생각하면 좋을 듯)

type TimerType = ReturnType<typeof setInterval>;

 

 


 

* setInterval과 setTimeout의 반환 타입

 

1) setInterval()과 setTimeout()의 반환값은 브라우저와 Node.js 환경에서 다름:

  • 브라우저: setInterval은 number를 반환.
  • Node.js (Electron 포함): setInterval은 NodeJS.Timeout 객체를 반환.

2_TypeScript에서는 ReturnType<typeof setInterval>을 사용하면 환경에 따라 올바른 타입을 가져올 수 있음!
  → 브라우저에서는 number, Node.js에서는 Timeout 객체로 자동 설정됨.