当前位置: 首页 > news >正文

ts 分发

在 TypeScript 中,"分发"(distributive)是指在条件类型中的联合类型上自动进行类型推断的机制。当使用条件类型操作联合类型时,TypeScript 会自动将联合类型中的每个成员都应用该条件类型。

下面是一个示例:

type Box<T> = {value: T;
};type Boxify<T> = T extends any ? Box<T> : never;type StringBox = Boxify<string>;
// 等价于
// type StringBox = Box<string>;type NumberBox = Boxify<number>;
// 等价于
// type NumberBox = Box<number>;type AnyBox = Boxify<any>;
// 等价于
// type AnyBox = Box<any>;type UnionBox = Boxify<string | number>;
// 等价于
// type UnionBox = Box<string> | Box<number>;

在上面的例子中,我们定义了一个泛型类型 Box<T> 表示一个盒子,它包含一个值 value。然后,我们定义了一个条件类型 Boxify<T>,它通过判断泛型 T 是否为任意类型来决定是否对其进行包装为 Box<T>,否则为 never

在使用 Boxify<T> 进行类型转换时,TypeScript 会自动将联合类型中的每个成员应用该条件类型。例如,StringBox 将会推断为 Box<string>NumberBox 将会推断为 Box<number>AnyBox 将会推断为 Box<any>UnionBox 将会推断为 Box<string> | Box<number>

http://www.lryc.cn/news/190299.html

相关文章:

  • SQL中的group by使用注意事项
  • 矩阵剪辑系统源码----pc/手机端双开发
  • 0基础学习VR全景平台篇 第106篇:认识调色软件Lightroom
  • React如何优化减少组件间的重新Render
  • mysql面试题44:MySQL数据库cpu飙升的话,要怎么处理?
  • 动画圆圈文字标志效果
  • 【数据结构】二叉树--顺序结构及实现 (堆)
  • 适用于嵌入式单片机的差分升级通用库
  • Exposure Normalization and Compensation for Multiple-Exposure Correction 论文阅读笔记
  • Arduino驱动BMI160 6轴惯性运动传感器(惯性测量传感器篇)
  • 数据挖掘实战(3):如何对比特币走势进行预测?
  • 巴以冲突中暴露的摄像头正对安全构成威胁
  • 【Redis】Redis性能优化:理解与使用Redis Pipeline
  • 前端全局工具函数utils.js/正则(持续更新)
  • 如何基于先进视频技术,构建互联网视频监控安全管理平台解决方案
  • 【React native】navigation 状态重置
  • 2023全国大学生软件测试大赛开发者测试练习题99分答案(ScapegoatTree2023)
  • Centos8 openjdk升级
  • 开启深度学习之门—《深度学习》
  • 优先调节阀位,条件调节阀位
  • oracle入门笔记六
  • 腾讯云优惠券种类、领取方法及使用教程分享
  • JavaScript使用类-模态窗口
  • 【轻松玩转MacOS】外部设备篇
  • location rewrite
  • XLSX.utils.sheet_to_json()解析excel,给空的单元格赋值为空字符串
  • 安装Docker(Linux:CentOS)
  • 2310月问题描述
  • y _hat[ [ 0, 1], y ]语法——pytorch张量花式索引
  • 高级岗位面试问题