有没有一种方法可以在TypeScript中忽略类型不兼容性?

17

我一直在研究如何将TypeScript与Mongoose用于MongoDB。大部分情况下都很好用,但是对于某些类型的查询,我会收到TypeScript编译器的警告。

如果我这样使用or:

{"$or": [{done: {"$exists": false}}, {done:false}]} 

我收到了以下警告:

数组字面表达式中的类型不兼容:类型“{ done: { $exists: bool; }; }”的属性“done”和“{ done: bool; }”的类型不兼容。

我知道为什么会出现这种情况,但是否有方法可以表达这个意思以便编译器接受呢?

1个回答

32

您可以将任何元素的类型断言为any,以“关闭”类型检查:

[<any>{done: {"$exists": false}}, {done:false}]

或者,如果你要初始化一个变量,可以这样做:

var n: any[] = [{done: {"$exists": false}}, {done:false}]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接