2020-04-02 TIL

2020-04-02

TypeScript primitive intersection 쓰임새

primitive type에 intersection을 사용하는 것은 무조건 오류라고 생각했는데, 쓰임새가 있다.

https://github.com/Microsoft/TypeScript/issues/12435#issuecomment-262429933

위 경우 처럼.. number지만 unique한 타입으로 지정하고 싶을 때.

type FeetInches = number & Feet;

이런식으로 선언하고

function cal(inches: FeetInches) {..}

이렇게 지정한다면 cal(20) 같은건 에러가 날거다. 인자로 전달한 20은 그냥 number type이니까.

그러나,

function getFeetInches(inch: number): FeetInches {
    return inch as FeetInches;
}

이렇게 타입을 부여하는 함수를 정의해 이것의 리턴값을 전달한다면 오류가 나지 않는다.

이렇게 primitive 값에도 강제성 있는 타입을 부여할 수 있다..


Minchang Kim
Minchang Kim
웹/앱 개발자 김민창입니다! 좋은 하루 되세요!