kakasoo

조건에 따라 다른 response type이 추론되게 하기 본문

프로그래밍/TypeScript

조건에 따라 다른 response type이 추론되게 하기

카카수(kakasoo) 2023. 1. 24. 00:20
반응형
function test(a:boolean) {
    return a ? 1 : 2;
}

const a = test(true);

이렇게 작성했을 경우 a의 타입은 1 | 2로 추론된다.

function test(a: true): 1;
function test(a: false): 2;
function test(a: boolean): 1 | 2 {
    return a ? 1 : 2;
}

const a = test(true);

이렇게 작성하면 a의 타입은 1로 추론된다.
조건에 따른 a 타입을 추론하기 위해서는 단지 오버로딩을 이용하는 것만으로도 충분하다.
만약 분기 처리에 따라서, 또는 파라미터로 받은 a를 내부에서 호출하는 다른 메서드로 호출하는 등 추가적인 분기 처리가 생긴다면,
그만큼 더 많은 오버로딩을 작성함으로써 해결할 수 있다.

반응형