serendipityApe / javascriptPromotion

资深前端必备的编码问题
3 stars 0 forks source link

实现Partial<T> #11

Open serendipityApe opened 2 years ago

serendipityApe commented 2 years ago

题目 implement Partial

例子 Partial可以把任意类型T的所有属性变为可选属性,请实现Partial 如下面代码所示


interface Person{
name:string,
age:number
}

let newPerson:Partial; //newPerson类型为: {name?:stirng , age?:number}


>答案

type MyPartial= {

}


>解析

**keyof** 

 **索引类型查询操作符**。 对于任何类型 `T`, `keyof T`的结果为 `T`上已知的公共属性名的联合。

**T[K]**

 **索引访问操作符**。根据属性名获得对应类型

```JavaScript
interface Person{
  name:string,
  age:number
}

let PersonProps:keyof Person; //name | age

let name:Person['name']; // string

in

遍历