반응형
0. 문제
조건 C, 참일 때의 반환타입 T, 거짓일 때 반환타입 F를 받는 타입 IF를 구현하기.
C는 true 또는 false, T,F는 아무 타입
1. 설명
/* _____________ Your Code Here _____________ */
type If<C extends boolean, T, F> = C extends true ? T : F
/* _____________ Test Cases _____________ */
import type { Equal, Expect } from '@type-challenges/utils'
type cases = [
Expect<Equal<If<true, 'a', 'b'>, 'a'>>,
Expect<Equal<If<false, 'a', 2>, 2>>,
]
// @ts-expect-error
type error = If<null, 'a', 'b'>
C는 true or false여야 하니까 C는 boolean을 extends하는 것.
만약 C가 true를 extends하면 T, 아니면 F를 뽑아주면 된다
반응형
'✍ 공부 > TypeScript' 카테고리의 다른 글
[type-challenges] Push (0) | 2023.05.23 |
---|---|
[type-challenges] Concat (0) | 2023.05.23 |
[type-challenges] Awaited (0) | 2023.05.23 |
[type-challenges] Exclude (0) | 2023.05.23 |
[type-challenges] Length of Tuple (0) | 2023.05.23 |