一、typeof 类型操作符
- typeof操作符用于获取变量的类型,因此这个操作符的后面接的始终是一个变量,而且需要一个类型来接收
//1.定义一个person1的对象或者简单的类型都可以
let person1 = {
name: '张三',
age: 19
};
//2.把person1对象的类型通过typeof引用给类型person2
type person2 = typeof person1; //{name:string,age:number}
二、keyof类型操作符
- keyof类型操作符可以用于获取某种类型的所有键,其返回类型是联合类型
//1.定义一个类型person1
type person1 = {
name: string;
age: number;
};
//2.使用keyof把类型person1的类型转成联合类型name|age,给新类型person2
type person2 = keyof person1;
//3.person2联合类型约束变量person3
let person3: person2 = 'name';
三、in操作符
- in操作符会遍历类型,只能遍历联合类型
//1.定义一个类型person1
type person1 = {
name: string;
age: number;
};
//2使用keyof变成联合类型name|age,在使用in遍历
let person2: { [K in keyof person1]: person1[K] } = {
name: '张三',
age: 19
};