【发布时间】:2018-03-24 00:32:44
【问题描述】:
我写了这段代码
interface Foo {
abcdef: number;
}
let x: Foo | string;
if (x instanceof Foo) {
// ...
}
但是 TypeScript 给了我这个错误:
'Foo' only refers to a type, but is being used as a value here.
为什么会这样?我以为instanceof 可以检查我的值是否具有给定的类型,但 TypeScript 似乎不喜欢这样。
【问题讨论】:
-
查看@4castle 下方的答案。否则,你是对的,我会做到
Foo | string。 -
和Check if variable is a specific interface type in a typescript union 的可能副本(我真的不想单枪匹马地敲这个)
-
@Jenny O'Reilly,现在这绝对是可能重复的副本!
标签: javascript typescript instanceof