React 前端导航

Typescript 类型声明工具函数一览

Typescript 类型声明工具函数一览

类型声明是 Typescript 中用到最多得东西,他提供了一系列类型声明函数辅助开发,提升效率。

下面简述每个方法的主要作用,个人认为不容易理解的会带示例,仅供参考。

Partial

Partial 的作用就是将 T 类型里的属性全部变为可选项 ? 。

Required

Partial 的作用就是将 T 类型里的属性全部变为必选项 ? 。

Readonly

Readonly 的作用是将 T 类型所有属性变为只读属性,也就意味着这些属性不能被重新赋值。

Record

Record<K, T> 的作用是将 K 中所有的属性的值转化为 T 类型。

示例

type petsGroup = 'dog' | 'cat' | 'fish';
interface IPetInfo {
    name:string,
    age:number,
}

type IPets = Record<petsGroup, IPetInfo>;

const animalsInfo:IPets = {
    dog:{
        name:'dogName',
        age:2
    },
    cat:{
        name:'catName',
        age:3
    },
    fish:{
        name:'fishName',
        age:5
    }
}

Pick

Pick<T, K extends keyof T> 的作用是将 T 类型中的子属性挑出来,变成包含 T 类型部分属性的子类型。

示例

type T = {
  name:string;
  age:number;
}

type K = Pick<T,"name">;
// 等同于
type K = {
    name: string;
}

Exclude

Exclude<T, U> 的作用是将 T 类型和 U 类型属性交集的补集。

示例

  type T0 = Exclude<"a" | "b" | "c", "a">;
  // "b" | "c"
  type T1 = Exclude<"a" | "b" | "c", "a" | "b">;
  // "c"
  type T2 = Exclude<string | number | (() => void), Function>;
  // string | number

Extract

Extract<T, U> 的作用是从 T 类型中提取出 U 类型属性,也就是取两个类型的交集属性。

Omit

Omit<T, K extends keyof any> 的作用是使用 T 类型中除了 K 类型的所有属性,来构造一个新的类型,也就是从 T 类型中去掉 T 类型和 K 类型的交集属性。

NonNullable

NonNullable 的作用是用来过滤类型中的 null 及 undefined 类型。

ReturnType

ReturnType 的作用是用于获取函数 T 的返回类型。

InstanceType

InstanceType 的作用是获取构造函数类型的实例类型。

ThisType

ThisType 的作用是用于指定上下文对象的类型。

Parameters

Parameters 的作用是用于获得函数的参数类型组成的元组类型。

ConstructorParameters

ConstructorParameters 的作用是提取构造函数类型的所有参数类型。它会生成具有所有参数类型的元组类型(如果 T 不是函数,则返回的是 never 类型)。

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:farmerlzj@163.com。 本站原创内容未经允许不得转载,或转载时需注明出处: 内容转载自: React前端网:https://qianduan.shop/blogs/detail/42

#js#ts

相关推荐

原型与原型链、继承

原型与原型链、继承简单实现

浏览器中的js事件循环(Event loop)

本文将简述浏览器中的js事件循环机制,帮助我们理解浏览器环境js代码是如何运行的。Javascript的一大特点是单线程,也就意味着同一时间他只能做一件事。事件循环(Event Loop)是为了协调事件,用户交互,UI渲染,网络处理等行为,防止线程阻塞而诞生的。