问题描述
这是微软官方 的代码https://github.com/Microsoft/...在学习的过程中看到这段位运算符(&)的代码表示看不懂,能给我解答下这段代码的意义么?谢谢了。type UserModel 这是定义的什么类型?还有就是 mongoose.Document & {} 返回 0 或者 1 ? 但是 一个 {}&{} 的情况下返回的都是0吧?菜鸟不是很懂。
问题解答
回答1:typescript中在两个类型间使用&操作符表示交叉类型,而不是js的&位运算
交叉类型可以简单理解为同时拥有多个类型所有成员的类型
比如图中的代码,UserModel这个类型就是既拥有mongoose.Document的所有成员,也拥有后面{}中定义的所有成员的类型
官方文档见这里