TypeScript中的`keyof`和`in`操作符:探索键和属性检查
keyof和in是 TypeScript(TS)中的两个非常有用的操作符,它们在处理类型和对象时非常有用。
keyof
keyof是一个类型操作符,它返回一个包含指定类型的所有键组成的联合类型。
基本用法
type Keys = keyof { a: number, b: string, c: boolean };  // Keys 为 'a' | 'b' | 'c'
你也可以用它来获取对象类型的所有键:
type User = { name: string; age: number };
type UserKeys = keyof User;  // UserKeys 为 'name' | 'age'
你还可以用它来获取泛型类型的所有键:
function getKeys<T>(obj: T) {
type Keys = keyof T;
// ...
}
in
in是一个一元操作符,用于检查一个左值是否存在于一个右值中。在 TypeScript 中,这个操作符尤其与类型关联,例如当你试图检查一个变量是否是某个对象的属性时。
基本用法
let value: string | number | boolean;
if ('value' in value) {  // 这里将检查 value 是否有一个名为 'value' 的属性,可以是任何类型
// do somethingin运算符的含义
}
在这个例子中,'value' in value实际上是在检查value是否有一个名为value的属性,这个属性的类型可以是string、number或boolean中的任意一个。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。