为什么在TypeScript中使用'instanceof'会给我报错"'Foo'仅用作类型,但在此处用作值。"?
我写了这段代码:
interface Foo {
abcdef: number;
}
let x: Foo | string;
if (x instanceof Foo) {
// ...
}
但是 TypeScript 给我报了这个错误:
'Foo' 只是一个类型的引用,但在此处却作为值被使用。
为什么会发生这种情况?我以为 instanceof
可以检查我的值是否具有指定的类型,但 TypeScript 似乎不喜欢这样。