【发布时间】:2015-01-04 01:15:36
【问题描述】:
当我执行for..in 时,如果我小心不要自己修改Object.prototype,是否可以省去Node.js 中的if (obj.hasOwnProperty(key)) {...} 检查?
或者,如果我 require() 某个第三方软件包碰巧修改了 Object.prototype,那是否也会将我的模块的 Object.prototype 搞砸?
【问题讨论】:
-
任何第三方库都可能在 Object.prototype 上添加额外的属性或方法。你永远不应该假设这永远不会发生。所以我会说最好让你的“如果”。对象对所有模块都是通用的。在你的 javascript 代码的不同部分有不同类型的“对象”会很奇怪。
标签: node.js prototype javascript-objects