TypeScript 2.0中如何详细解释联合类型的用法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2345个文字,预计阅读时间需要10分钟。
目录 + 使用标记的联合类型构建支付方式 + 使用标记联合类型构建 + Redux 操作 + never 类型 + 永不返回的函数 + 不可能有该类型的变量 + never 和 void 之间的区别 + 函数声明类型推断 + 使用标记的联合类型
目录
- 使用标记的联合类型构建付款方式
- 使用标记联合类型构建 Redux 操作
- never 类型
- 永不返回的函数
- 不可能有该类型的变量
- never 和 void 之间的区别
- 函数声明的类型推断
使用标记的联合类型构建付款方式
假设咱们为系统用户可以选择的以下支付方式建模
- Cash (现金)
- PayPal 与给定的电子邮件地址
- Credit card 带有给定卡号和安全码
对于这些支付方法,咱们可以创建一个 TypeScript 接口
interface Cash { kind: "cash"; } interface PayPal { kind: "paypal", email: string; } interface CreditCard { kind: "credit"; cardNumber: string; securityCode: string; }
注意,除了必需的信息外,每种类型都有一个kind属性,即所谓的判别属性。这里每种情况都是字符串字面量类型。
本文共计2345个文字,预计阅读时间需要10分钟。
目录 + 使用标记的联合类型构建支付方式 + 使用标记联合类型构建 + Redux 操作 + never 类型 + 永不返回的函数 + 不可能有该类型的变量 + never 和 void 之间的区别 + 函数声明类型推断 + 使用标记的联合类型
目录
- 使用标记的联合类型构建付款方式
- 使用标记联合类型构建 Redux 操作
- never 类型
- 永不返回的函数
- 不可能有该类型的变量
- never 和 void 之间的区别
- 函数声明的类型推断
使用标记的联合类型构建付款方式
假设咱们为系统用户可以选择的以下支付方式建模
- Cash (现金)
- PayPal 与给定的电子邮件地址
- Credit card 带有给定卡号和安全码
对于这些支付方法,咱们可以创建一个 TypeScript 接口
interface Cash { kind: "cash"; } interface PayPal { kind: "paypal", email: string; } interface CreditCard { kind: "credit"; cardNumber: string; securityCode: string; }
注意,除了必需的信息外,每种类型都有一个kind属性,即所谓的判别属性。这里每种情况都是字符串字面量类型。

