Typescript 에서 typeof 사용하기

javascript/typescript
블로그 이미지

이챙(leechaeng)

﹒2022. 8. 25.

자바스크립트에서 typeof는 변수의 유형을 알아볼때 주로 사용했었다. 하지만 typescript 안에서는 살~짝 다르게 쓰이는거 같아 알아보았다.

 

let x = "hello world";
console.log(typeof x);

 

기본적으로 ts에서 js에서 변수의 유형이 뭔지 도출하는 기능은 같다. 추가적인 기능이 있는것!

 

let s = "hello";
let n: typeof s; // n: string


공식문서의 예제로 살펴보겠다.

변수 n에 typeof를 사용하여 기존 변수 s의 type을 복사할 수 있다
자스랑 헷갈렷던게 타입을 복사한다는 개념이 헷갈렸었다..🥲 ts에선 새 변수에 기존변수의 타입을 typeof로 복사 가능하다는 거!!

let x = 20;
let y = "공작새";

type Person = {
    name: typeof y,
    age: typeof x,
}

 

객체 안에서 속성이 특정변수 타입과 일치해야 하는 경우 typeof 를 사용하면 동일하게 타입을 사용할 수 있다. 참조 한다고 생각하면 될거같다

 

function sendData(a: number, b: number) {
    return {
        a: 20,
        b: 10
    }
}
type Data = ReturnType<typeof sendData>

// type Data = {
//     a: number,
//     b: number
// }

 

유틸리티타입 ReturnType<T>에 typeof를 같이 사용하면 함수가 반환하고자 하는 값의 타입들을 그대로 type에 복사 가능하다

 

 

이챙(leechaeng)
이챙(leechaeng)

프론트엔드 개발도 하고 뛰기도 하고

'javascript/typescript' 카테고리의 관련 글