프로그래밍/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를 내부에서 호출하는 다른 메서드로 호출하는 등 추가적인 분기 처리가 생긴다면,
그만큼 더 많은 오버로딩을 작성함으로써 해결할 수 있다.
반응형