1. 索引类型查询操作符 keyof ,通过keyof我们能够获取一个类型的所有属性名组成的联合类型
keyof
操作符,连接一个类型,会返回一个由这个类型的所有属性名组成的联合类型
interface Info { name: string; age: number; } let infoProp: keyof Info; infoProp = "name"; infoProp = "age"; infoProp = "no"; // error 不能将类型“"no"”分配给类型“"name" | "age"”
这里的keyof Info
其实相当于"name" | “age”
2.索引访问操作符也就是[]
,其实和我们访问对象的某个属性值是一样的语法
interface Info { name: string; age: number; } type NameType = Info["name"]; let name: NameType = 123; // error 不能将类型“123”分配给类型“string”
type NameType = Info["name"]; 得到一个 strinG
123 是 number