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

做资源网站怎么不封北京网络营销推广培训哪家好

做资源网站怎么不封,北京网络营销推广培训哪家好,艺术字设计,网站建设com网站infer 是 TypeScript 中的高级类型关键字&#xff0c;主要用于条件类型中推断类型。它允许我们在条件类型的 extends 子句中声明一个类型变量&#xff0c;然后在该条件类型的 true 分支中使用这个推断出的类型。 1. 基本语法 type SomeType<T> T extends infer U ? U…

infer 是 TypeScript 中的高级类型关键字,主要用于条件类型中推断类型。它允许我们在条件类型的 extends 子句中声明一个类型变量,然后在该条件类型的 true 分支中使用这个推断出的类型。

1. 基本语法

type SomeType<T> = T extends infer U ? U : never;

2. 主要用途

1. 从复杂类型中提取子类型;

2. 实现类型解构;

3. 创建更灵活的工具类型;

3. 常见示例

3.1. 提取函数返回类型

type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;function foo(): number {return 42;
}type FooReturn = ReturnType<typeof foo>; // number

3.2. 提取数组/元组元素类型

type ElementType<T> = T extends (infer U)[] ? U : never;type StrArray = string[];
type StrElement = ElementType<StrArray>; // string

3.3. 提取数组/元组元素类型

type UnpackPromise<T> = T extends Promise<infer U> ? U : T;type PromiseNumber = Promise<number>;
type NumberType = UnpackPromise<PromiseNumber>; // number

3.4. 提取函数参数类型

type Parameters<T> = T extends (...args: infer P) => any ? P : never;function bar(a: string, b: number): void {}
type BarParams = Parameters<typeof bar>; // [string, number]

3.5. 提取构造函数实例类型

type InstanceType<T> = T extends new (...args: any[]) => infer R ? R : any;class MyClass {}
type MyInstance = InstanceType<typeof MyClass>; // MyClass

3.6. 实现类型反转(将元组类型顺序反转)

type Reverse<T> = T extends [infer First, ...infer Rest] ? [...Reverse<Rest>, First] : T;type Original = [1, 2, 3];
type Reversed = Reverse<Original>; // [3, 2, 1]

4. 注意事项

1. infer 只能在条件类型的 extends 子句中使用;

2. 同一类型变量可以在多个位置进行 infer,但必须推断出相同的类型;

3. 如果无法推断出类型,则条件类型会返回 never 或指定的默认类型;

infer 是 TypeScript 类型编程中非常强大的工具,它使得类型操作更加灵活和强大,特别是在创建复杂工具类型时非常有用。

http://www.dtcms.com/wzjs/46805.html

相关文章:

  • 学校网站源码php今日时政新闻
  • 国外在线网站建设平台西安seo网站排名
  • 网站整站个人建站
  • 手机做网站公司有哪些怎么在百度上设置自己的门店
  • 如何建设电影会员网站今日热点新闻头条国内
  • 人妖怎么做的手术视频网站网络运营师资格证
  • 如何建设公司网站知乎搜索引擎营销案例分析题
  • 电子商务网站开发项目设计报告阿里云搜索引擎网址
  • 西宁网站建设平台公司广州线下培训机构停课
  • 个人做慈善网站百度账户登录
  • 重庆市渝兴建设投资有限公司网站中视频自媒体平台注册
  • 外贸网址大全百度问答优化
  • 网站是用sql2012做的_在发布时可以改变为2008吗推广之家官网
  • 网站建设资质备案百度人工服务24小时热线电话
  • 专做医药中间体的网站百度关键词优化点击 教程
  • 泉做网站的公司廊坊百度快照优化哪家服务好
  • 亦庄建设局网站手机端怎么刷排名
  • 北京燕郊网站建设seo软件
  • 加强政府网站建设管理的重要性360推广登录
  • 浅谈顺丰的电子商务网站建设设计个人网站
  • 苏州网页优化软件优化疫情防控
  • 网站建设基本网络推广文案
  • 江苏省建设工程网站推广手段有哪些
  • 商城展示网站google入口
  • 网站建设维护教程如何进行网络推广营销
  • java做网站主要技术西安网站搭建
  • 视频网站开发费用自己建网页
  • 上海做网站培训班水果网络营销推广方案
  • 什么网站做聚乙烯醇好的天津网站策划
  • 做网站的书籍首码项目推广平台