【发布时间】:2017-10-31 03:35:11
【问题描述】:
假设我在一个文件的开头有这个定义:
const ObjectId = mongoose.Types.ObjectId;
你应该更喜欢哪一个?为什么?
// 1
new ObjectId;
// 2
new ObjectId();
// 3
ObjectId();
官方文档建议使用new ObjectId。对我来说new ObjectId() 感觉更自然,但它们中的每一个都会生成一个新的 ObjectId,我在 SO 的问题和答案中看到了它们中的每一个的示例。
更新:
让我澄清一下:我知道为什么以及如何在 JavaScript 中使用 new 运算符,我只是想知道当 new 用于 ObjectID 生成时是否有任何显着差异。 (函数行为不同,抛出错误等......)
【问题讨论】:
-
MDN 很好地解释了
new运算符(以及为什么如果没有它调用构造函数,它们的行为很可能会有点奇怪)。
标签: javascript node.js mongodb mongoose