# 268-实现If

# 题目描述

实现一个 IF 类型,它接收一个条件类型 C ,一个判断为真时的返回类型 T ,以及一个判断为假时的返回类型 FC 只能是 true 或者 falseTF 可以是任意类型。

例如:

type A = If<true, 'a', 'b'>; // expected to be 'a'
type B = If<false, 'a', 'b'>; // expected to be 'b'

# 分析

相比于前几道题,此题目利用 ts 的 conditional-types (opens new window) 可以非常简单的解决。

# 题解

type If<C extends boolean, T, F> = C extends true ? T : F;

# 知识点

  1. A extends B ? 1 : 2,ts 的条件判断类型
Last Updated: 2023/5/16 06:00:28