在TypeScript中以类型安全的方式检查对象中的属性

21 浏览
0 Comments

在TypeScript中以类型安全的方式检查对象中的属性

代码

const obj = {};
if ('a' in obj) console.log(42);

不是 TypeScript(没有错误)。我知道为什么会这样。此外,在 TS 2.8.1 中,“in”也可以作为类型守卫。

但是无论如何,是否有一种方法可以检查属性是否存在,但如果属性在 obj 的接口中未定义,则报错?

interface Obj {
   a: any;
}

我不是在谈论检查未定义的属性...

0