typescript常用的泛型工具类型

泛型工具类型 1 Partial type所有属性变成可选

interface Props{
    id:number,
    name:string
}
 type PartialProps = Partial<Props>

使用后 PartialProps里的所有属性都变成可选 即:

type PartialProps = {
    id?: number | undefined;
    name?: string | undefined;
}

泛型工具类型 2 Readonly 讲type的所有属性都设置成只读的

interface Props{
    id:number,
    name:string
}
 type ReadonlyProps = Readonly<Props>
 let props : ReadonlyProps = {id:1,name:'xxx'}
        //  props.name='w3f'  这句话 此时会报错

使用Readonly后,对象里面的属性只可读,不可以改变。此时ReadonlyProps为:

type ReadonlyProps = {
    readonly id: number;
    readonly name: string;
}

泛型工具类型 3 Pick<type,key> 从type中选择一组属性 来构造新类型

//两个变量表示:1)表示谁的属性 2)表示选择哪一个属性,此属性只能是前面第一个变量传入的类型变量中的属性
 interface Props2{
    id:number,
    name:string,
    age:number
}
 type PickProps = Pick<Props2,'id'|'age'>  //这表示 构造出来的新类型PickProps 只有id age两个属性类型

表示在旧的类型中选择一部分属性,讲选择的属性来重新构造成一个新的类型。此时PickProps为:

type PickProps = {
    id: number;
    age: number;
}

泛型工具类型 4 Record<keys,type> 构造一个对象类型,属性键为keys,属性类型为type

  //两个变量表示:1)表示对象有哪些属性 2)表示对象属性的类型
  type RecordObj = Record<'a'|'b'|'c',string>  //此处表示 此类型变量有a b c三个键,并且三个的属性值都是string类型
  let obj :RecordObj = {
    a:'1',
    b:'2',
    c:'3'
  }
type RecordObj = {
    a: string;
    b: string;
    c: string;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
01Typescript介绍 、Typescript安装、Typescript开发工具(15分51秒).rar 02 Typescript 中的数据类 boolean 数字类 number类 string类 array类元组类 (tuple)枚举类 (enum) (上) (20分29秒).rar 03 Typescript中的数据类 任意类 (any) null 和 undefined void类 never类 (下) (16分6秒).rar 04 Typescript中的函数 函数的定义 可选参数 默认参数 剩余参数 函数重载 箭头函数 (31分50秒).rar 05 Typescript中的类 Es5中的类和静态方法 继承 (原链继承、对象冒充继承、原链+对象冒充组合继承) (20分40秒).rar 06 Typescript中的类 类的定义 继承 类里面的修饰符 (上) (29分4秒).rar 07 Typescript中的类 类中的静态属性 静态方法 抽象类 多态 (下) (27分52秒).rar 08 Typescript中的接口的用途 以及属性类接口 (19分46秒).rar 09 Typescript中的属性类接口【案例】 定义Ajax请求数据的接口 ts封装ajax (8分).rar 10 Typescript中的函数类口 【案例】 加密方法约束 (5分11秒).rar 11 Typescript中的可索引接口 类类接口 (12分2秒).rar 12 Typescript中接口扩展、接口的继承 (7分19秒).rar 13 Typescript中的泛型 泛型变量 泛型类 (22分54秒).rar 14 Typescript的泛型接口 泛型类接口 (8分42秒).rar 15 Typescript泛型类 - 把类作为参数类泛型类 (21分47秒).rar 16 Typescript 类、接口、类 、泛型 综合使用--Typescript封装统一操作Mysql Mongodb Mssql的底层类库 (14分31秒).rar 17 Typescript 模块 以及模块化封装DB库 封装类似Mongoose风格的类库 (25分22秒).rar 18 命名空间 命名空间块化 (11分35秒).rar 19 装饰器定义 类装饰器 属性装饰器 装饰器工厂 (23分17秒).rar 20 装饰器 方法装饰器 方法参数装饰器 装饰器的执行顺序 (28分39秒

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值