有没有办法忽略打字稿中的类型不兼容?

Chr*_*sen 13 typescript

我一直在寻找使用带有mongoose的typescript for MongoDB.它大部分工作都很好,但是对于某些类型的问题,我会从typescript编译器收到警告.

如果我这样做或者喜欢这样:

{"$or": [{done: {"$exists": false}}, {done:false}]} 
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

数组文字表达式中不兼容的类型:类型'{done:{$ exists:bool; }; }'和'{done:bool; }'不相容.

我理解为什么,但有没有办法表达这一点,所以编译器会接受它?

Rya*_*ugh 23

您可以键入断言任何元素any以"关闭"类型检查:

[<any>{done: {"$exists": false}}, {done:false}]
Run Code Online (Sandbox Code Playgroud)

或者,如果您正在初始化变量,则可以执行以下操作:

var n: any[] = [{done: {"$exists": false}}, {done:false}]
Run Code Online (Sandbox Code Playgroud)