考虑以下基本节点+ ts代码:
import * as express from "express";
function doStuff(app: express.Application) {
if (!(app instanceof express.Application)) throw new TypeError();
// etc...
}
VSCode向我显示了...instanceof express.Application...
的错误:
[ts]属性'Application'在类型'typeof e'上不存在。 [2339]
我在做什么错了?
答案 0 :(得分:3)
instanceof
是Javascript运算符。右侧操作数必须是运行时值(函数或构造函数)才能起作用。
express.Application
被定义为接口。接口仅在编译时存在,以帮助类型检查。这意味着在运行时,express.Application
操作中没有instanceof
值作为操作数,因此打字稿会发出错误消息。