目录
- 前言
- 前置知识
- 对象中多属性同类型的定义
- never类型
- 剔除联合类型中的属性
- 将对象中的所有属性转为联合类型
- 实现互斥类型
- 实现代码
- 测试用例
- 用例拆解
- 写在最后
前言
有这样一个对象,它有两个属性:name与title,在赋值的时候这两个属性只有一个能出现,例如:name出现的时候title就不能出现,title出现的时候name就不能出现。
此时,你会怎么用TypeScript来定义这个类型?本文将带大家实现一个互斥类型来解决这个问题,欢迎各位感兴趣的开发者阅读本文。
前置知识
在实现之前,我们需要先来了解几个基础的知识。
对象中多属性同类型的定义
有一个对象它包含5个可选属性a、b、c、d、e,他们的类型都为string,大多数人的定义方式应该如下所示:
type obj = { a?:string; b?:string; c?:string; d?:string; e?:string; }
那么,有没有更好的方式呢
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)