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

程序员帮忙做放贷网站广州网站推广平台

程序员帮忙做放贷网站,广州网站推广平台,客户网站建设公司,wordpress 积分打赏条件类型(Conditional Types)是一种高级的类型工具,它允许我们基于一个类型关系来选择另一个类型。条件类型通常使用条件表达式 T extends U ? X : Y 的形式,其中根据泛型类型 T 是否可以赋值给类型 U 来确定最终的类型是 X 还是…

条件类型(Conditional Types)是一种高级的类型工具,它允许我们基于一个类型关系来选择另一个类型。条件类型通常使用条件表达式 T extends U ? X : Y 的形式,其中根据泛型类型 T 是否可以赋值给类型 U 来确定最终的类型是 X 还是 Y。

type TypeName<T> = T extends string ? "string" :T extends number ? "number" :T extends boolean ? "boolean" :T extends undefined ? "undefined" :T extends Function ? "function" :"object";type T1 = TypeName<string>;  // string
type T2 = TypeName<string[]>; // "object"

分布式条件类型(Distributive Conditional Types)是一种特殊类型的条件类型,它在处理联合类型时会表现出特定的行为。当条件类型被应用于联合类型时,如果联合类型中包含了带有类型参数的条件类型,那么 TypeScript 会自动将条件类型“分发”到联合类型的每个成员上,并将结果组合成一个新的联合类型。

// (A | B) extends U ? X : Y
// (A extends U ? X : Y) | (B extends U ? X : Y)type T3 = TypeName<string | string[]>; // type T3 = "string" | "object"

可以实现过滤,比如 T 中过滤掉 U

// 官方的实现是 `Exclude<T, U>`
type Diff<T, U> = T extends U ? never : T;type T4 = Diff<"a" | "b" | "c", "a" | "e">; // "b" | "c"// Diff<"a", "a" | "e"> | Diff<"b", "a" | "e"> | Diff<"c", "a" | "e">
// never | "b" | "c"
// "b" | "c"

在做扩展,去掉 undefined 跟 null

// 官方的实现是 `NonNullable<T>`
type NotNull<T> = Diff<T, undefined | null>;type T5 = NotNull<string | number | undefined | null>; // type T5 = string | number

**Extract 跟 Exclude 相反, Exclude 是从类型 T 中过滤掉可以赋值给类型 U 的类型, Extract 是从类型 T 中可以抽取出赋值给 U 的类型
**

type T6 = Extract<"a" | "b" | "c", "a" | "e">; // type T6 = "a"

ReturnType<T> 用于获取函数类型 T 的返回类型

type T7 = ReturnType<() => string>; // type T7 = string

infer 用于推断并引入一个类型变量,以便在条件类型中使用。

/*** Obtain the return type of a function type*/
type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;
http://www.hengruixuexiao.com/news/16982.html

相关文章:

  • 网页生成桌面快捷方式网站优化排名哪家好
  • 服务外包和劳务外包区别怎么做好seo内容优化
  • 网络公司做网站价格网站网络推广推广
  • 网站如何投放广告网络推广是啥
  • 云南城市建设职业学院成绩查询网站网络优化的内容包括哪些
  • 北京网站设计合理刻找谁做百度关键词排名
  • 西宁企业网站建设公司北京seo优化wyhseo
  • 没有注册公司可以建网站吗近三天发生的大事
  • 华为云上面可以代做网站吗腰肌劳损的自我治疗和恢复的方法有什么?
  • 设计门户网站优化网络培训
  • C2C电商网站seo外链论坛
  • 中国室内设计网联盟优化关键词的公司
  • 做网站如何抓住客户的需求seo刷网站
  • 漳州网站建设哪家好哈尔滨最新信息
  • 免费网页设计作品沈阳seo收费
  • 中国建设银行网站官网百度公司简介
  • 做微信网站价格安装百度
  • 保定百度网站建设市场调研方法有哪些
  • 渝中网站公司泰安优化关键词排名哪家合适
  • 亚马逊虚拟主机做网站网络营销推广流程
  • 外贸网站推广哪个平台好百度青岛代理公司
  • 做58同城网站需要多少钱指数基金怎么选
  • 昆明贤邦网站建设google搜索网址
  • 揭阳网站开发微信推广方案
  • 南城微网站建设关键词搜索引擎排名查询
  • 商务网站建设调研企业邮箱账号
  • 用discuz做门户网站南通seo
  • 南宁小程序开发设计seo服务 收费
  • 浙江方远建设集团网站自动发帖软件
  • 网站设计项目书2022十大热点事件及评析