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 객체로 자동 설정됨.
'Electron' 카테고리의 다른 글
보안과 안정적 통신을 위해 preload.js 스크립트 설정하기 (0) | 2025.04.24 |
---|---|
Electron 이벤트 리스너 - .on() / .once() (0) | 2025.04.22 |
일렉트론 구조 - main.js / index.js / on() / send() (0) | 2025.03.18 |
require() (0) | 2025.03.06 |
audio 태그 대신 Audio 객체로 조작하기 (0) | 2025.03.06 |