node.js - 在学习 typescript 编写node 接口的时候看见一段代码很疑惑。大佬们解答一下呗。

【字号: 日期:2023-06-11浏览:22作者:雯心

问题描述

node.js - 在学习 typescript 编写node 接口的时候看见一段代码很疑惑。大佬们解答一下呗。

这是微软官方 的代码https://github.com/Microsoft/...在学习的过程中看到这段位运算符(&)的代码表示看不懂,能给我解答下这段代码的意义么?谢谢了。type UserModel 这是定义的什么类型?还有就是 mongoose.Document & {} 返回 0 或者 1 ? 但是 一个 {}&{} 的情况下返回的都是0吧?菜鸟不是很懂。

问题解答

回答1:

typescript中在两个类型间使用&操作符表示交叉类型,而不是js的&位运算

交叉类型可以简单理解为同时拥有多个类型所有成员的类型

比如图中的代码,UserModel这个类型就是既拥有mongoose.Document的所有成员,也拥有后面{}中定义的所有成员的类型

官方文档见这里

相关文章: