购买域名后怎么建网站上海关键词优化报价
参考:实现 Pick
Pick
在TypeScript中,Pick是一个内置的工具类型(Utility Type),用于从一个已有的类型中选取一组属性(通过键名)来创建一个新的类型
基本语法: Pick<Type,Keys> Type:表示要从中选取属性的源类型,Keys:表示要选取的属性名的联合类型,这个联合类型必须是Type的键的子集
作用:Pick会从Type中挑选出Keys指定的属性,然后组成一个新的类型
实现
type Pick <T, K extends keyof T> = {[P in K]: T[P]
}
K extends keyof T: K必须是T的键的联合类型的子集
[P in K]: T[P]:遍历 K中的每一个属性P,然后将其类型设置为TP
T[P] :表示 T 类型中属性 P 的类型
keyof
keyof操作符接受一个对象类型作为参数,返回改对象属性名组成的字面量联合类型,作用类似于Javascript中的Object.keys
interface Person {
name: string;
age: number
}
type PersonKeys = keyof Person
in
in的右侧会跟一个联合类型,使用in操作符可以对该联合类型进行迭代,其作用类似JavaScript中的for…in
interface Person {name: string;age: number;
}
type PersonKeys = keyof Person;
type PersonType = {[p in PersonKeys]: string
}
let person: PersonType = {name: 'string',age: 'age'
}