Ts泛型工具类Partail的实现

 Partail实际上是基于映射类型实现的

1、keyof T既表示keyof Props 表示获取Props的所有键 既 'a' | 'b' | 'c'

2、在[]后面加?表示将这些属性变为可选的,以此实现Partail的功能

3、:后面的T[P]表示获取T中每个键对应的类型比如a是number类型 b是string类型

type aaa<T> = {
    [P in keyof T]?: T[P]
}

type Props = {
    a: number,
    b: string
}

type PartialProps = aaa<Props>

let obj: PartialProps = {}

猜你喜欢

转载自blog.csdn.net/weixin_48329823/article/details/128309060