我可以用“静态方法”扩展对象、函数、日期等吗?在节点
Can I augment Object, Function, Date, etc. with "static methods" in Node?
如果我创建一个包含
的Node.js模块"augs"Object.foo = "bar";
然后输入REPL
require("./augs");
typeof Object.foo
我得到了'undefined'
。
我们的web应用程序中有大量的代码依赖于添加到Object
, Function
, Date
等的方便方法。我们试图在前端和后端之间共享一些代码,但Node似乎会重置这些构造函数,或者以某种方式防止对给定模块中的构造函数的更改泄漏到其他模块中。虽然这很聪明,我也很欣赏这种保护水平,但是否有办法说"我知道我在做什么;请让我增加Object
"?
假设augs.js
包含以下内容:
exports.augment = function(o) {
o.foo = "bar";
}
像这样增加Object
:
> var aug = require("./augs.js");
> aug.augment(Object);
> typeof Object.foo
'string'
注:假设您还导出以下函数:
exports.getObject = function () {
return Object;
}
:
> var aug = require("./augs.js")
> aug.getObject() == Object
false
相关文章:
- 无法理解JavaScript中的静态方法
- 从构造函数es6调用静态方法
- 如何理解“当类实例化时,JavaScript静态方法也是不可调用的”
- Javascript:如何声明非全局静态方法
- 定义的静态方法未定义
- 使用 Babel 转译器导入类并调用带有 ES6 模块的静态方法
- 从常规ES6类方法中调用静态方法
- React中的静态方法
- React中的单元测试非静态方法
- JavaScript中的静态方法
- 可以't从客户端应用程序引用插件中定义的静态方法
- 静态方法中的Javascript“this”
- 如何在 ReactJS 中限制静态方法
- Javascript 静态方法继承
- 静态类型节点JS可能吗?即打字稿
- 猫鼬静态方法返回蓝鸟承诺
- 如何继承静态方法
- 如何获取 javascript 类中的静态方法列表
- 咖啡脚本和节点中的静态方法
- 我可以用“静态方法”扩展对象、函数、日期等吗?在节点