TS 常用内置工具类型

TS 常用内置工具类型

1.Record

Record的内部定义,会有两个值 第一个参数是键值对Key 第二个参数为键值对val

interface records {
    title: string
}
type rds = 'a' | 'b'

const nav: Record<rds, records> = {
    a: { title: '1' },
    b: { title: '2' }
}

2.Partial

作用:生成一个新类型,所有属性变成可选项。该类型与 T 拥有相同的属性
interface partialInte {
    name: string,
    age: number
}

type parType = Partial<partialInte>
// 相当于
// 相当于
type parType = {
    name?: string
    age?: number
}
、、
const parNew: parType = {
    name: '123'
}

3.Required


作用:生成一个新类型,所有属性变成必选项。该类型与 T 拥有相同的属性
interface requiredInte {
    name?: string,
    sex?: string
}
type reqtype = Required<requiredInte>
// 相当于
type reqtype = {
    name: string
    sex: string
}
const reqNew: reqtype = {
    name: '1234',
    sex: '1'
}

4.readonly


作用:生成一个新类型,把所有属性都变成可读属性。K 属性是只读的,K 属性是不可修改的。

interface readolyInit {
    name: string
    age: number
}
type reatype = Readonly<readolyInit>
// 相当于
type reatype = {
    readonly name: string
    readonly age: number
}
const redNew: reatype = {
    name: '123',
    age: 88
}

5.Pick

生成一个新类型,只能定义继承的属性 也只能使用定义的属性。相当于TK的交集
interface pickInit {
    name: string;
    age?: number;
    gender: string;
}
type patype = Pick<pickInit, 'age' | 'gender'>
// 相当于
type patype = {
    age?: number
    gender: string
}
const paNew: patype = {
    gender: '123',
    age: 123
}

6.Omit


作用:生成一个新类型,被定义的属性将会被删除 不能被子类使用。返回T 中除了 K 属性以外的所有属性

type omitInit = {
    name: string
    age: number,
    sex: string
}


type mittype = Omit<omitInit, 'age'>
// 相当于
type mittype = {
    name: string,
    sex: string
}

const mitNew: mittype = {
    name: '123',
    sex: '444'
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值