1. 什么是分布式条件类型

  • 非分布式: 操作作用于混合类型大家都有的成员, 也就是交集

  • 分布式: 操作应用于混合类型里所有的成员, 也就是并集

  • 代码演示

// 非分布式(操作只作用于共同成员)
type Fruit =| { species: 'banana', curvature: number }| { species: 'apple', color: string }type KeyOfFruit = keyof Fruit; // "species"
// 分布式(操作作用于所有成员)
type DistributedKeyOf<T> =T extends any? keyof T: nevertype KeyOfFruit = DistributedKeyOf<Fruit>; // "species" | "curvature" | "color"

2. 什么时候会产生分布式条件类型

被检测类型为一个联合类型的时候, 该条件类型就是分布式条件类型

type Demo<T,U>= T extends U ? never : T
type A =  Demo <'a'|'b'|'c','a'>
// 不熟悉分布式条件的可能会认为, 执行逻辑应该是这样的 <'a'|'b'|'c','a'> extends 'a'
// 然而并不是, 根据分布式逻辑: 'a' extends 'a' ? never : T | 'b' extends 'a' ? never : T | 'c' extends 'a' ? never : T , 最后进行结果汇总: never | 'b' | 'c'

参考文档
参考文档-1

关于 typescript 里面的 分布式条件类型相关推荐

  1. TypeScript 2.8引入条件类型

    最新发布的TypeScript 2.8包含了若干主要特性和一些问题修复,其中最为重要的是新增了条件类型,开发人员可以根据其他类型的特征为变量选择适当的类型. 条件类型最适合与泛型组合在一起使用.如果一 ...

  2. 使用TypeScript映射和条件类型使React组件更出色

    by Deepu K Sasidharan 通过Deepu K Sasidharan 使用TypeScript映射和条件类型使React组件更出色 (Make your React component ...

  3. TS中的条件类型(ReturnType)

    本偏介绍TS另一种高级类型-条件类型. 官方文档:https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distr ...

  4. 在条件类型中使用 infer 关键字

    在 TypeScript 中条件类型的用法是: T extends U ? X : Y 跟 JS 中的条件表达式一样,如果 extends 语句为真,则取X类型 ,反之得到Y类型 .我们这里把X称为条 ...

  5. [TypeScript] 编程实践之1: Google的TypeScript代码风格3:类型

    TypeScript语言规范 3 类型 3.1 Any类型 3.2 基本类型 3.2.1 Number类型 3.2.2 Boolean类型 3.2.3 String类型 3.2.4 Symbol类型 ...

  6. SAP MM初阶之ME12里为啥只能维护少量条件类型的价格?

    SAP MM初阶之ME12里为啥只能维护少量条件类型的价格? 我们都知道,SAP采购模块里有采购信息记录主数据,可以在里面维护物料的采购价格,以及若干附加费的rate.这里维护好的采购价格,在创建采购 ...

  7. SAP MM 自定义条件类型出现在采购信息记录的'条件'界面里 ?

    SAP MM 自定义条件类型出现在采购信息记录的'条件'界面里 ? 我在SAP系统里复制某个标准的采购条件类型,创建了一个新的自定义条件类型ZC05,并将其分配采购定价过程RM0000. 结果却出现一 ...

  8. SAP MM 条件类型中PB00的‘Group Cond.‘标记的作用?

    SAP MM 条件类型中PB00的'Group Cond.'标记的作用? 如果没勾选这个标记,PO中的每个ITEM都根据其数量去取Scale里的价格, 而非PO汇总后的数量去取SCALE里的价格. 测 ...

  9. 定义交货输出条件类型(Output Types)

    一.说明 在向客户销售过程中,创建交货单后,通常会打印一张让用户去库房领料的通知单,这涉及到输出控制(Output Control).SAP的输出不仅是打印,还包含邮件.传真.EDI等.输出也是SAP ...

最新文章

  1. 数据结构-图论-拓扑排序模板题(hdu3342)(poj1270)(hdu4857)
  2. C++中有string类,string是一个类不是一种类型,c语言中没有
  3. 国际计算机语言,国际标准的5种PLC编程语言简介
  4. 四元数和欧拉角的相互转换
  5. 博主新书:《大数据日知录:架构与算法》目录
  6. 新知丨口服益生菌是商业噱头?
  7. 使用Java扫描DynamoDB项目
  8. greenplum 数据库单机部署
  9. python计算快递运费价格表_python实现快递价格查询系统
  10. C语言10进制转2进制
  11. IOS引入百度统计热力图崩溃
  12. 鹿晗关晓彤公布恋情阿里云服务器救场 这位微博程序员新婚还加班
  13. UVALive - 4987 (dp+贪心)
  14. 饥荒联机版修改在线模式
  15. php 代码中使用换行
  16. Python jieba库的介绍与使用
  17. Ajax XHR请求
  18. SFC /SCANNOW发现损坏文件应对方法参考
  19. 浙大PTA拼题A读者验证码刷题页面、PTA免费刷题页面(不需要读者验证码)
  20. java循环练习题及答案_循环练习题及答案

热门文章

  1. 啃完阿里这份高并发编程核心笔记,反手涨了 5K
  2. 军用式计算机标准总线,军用CPCI加固计算机通用化、系列化研究
  3. 电子指南针Arduino笔记四电子指南针罗盘HMC5883L
  4. 为什么样本点平均值会经过线性回归直线?
  5. photoshop抠图技巧之快速抠毛发实例教程
  6. keepalived 防火墙配置
  7. 内网渗透-项目六外围打点
  8. SLAM之小觅相机跑开源方案(ORB_SLAM2,VINS MONO,VINS FUSION,RTAB-Map)
  9. html游戏开发开题报告,基于H5 网页的打豆豆小游戏的设计与实现毕业论文+开题报告+设计源码...
  10. 关于Django的网络请求过程保存下!