我正在实现一个也可以在 Node 上运行的 JavaScript 库,我想尽可能多地使用 Node 的 API。我的对象发出事件,所以我找到了这个名为 eventemitter2 的不错的库,并为 JavaScript 重新实现了 EventEmitter。现在我想为 util.inherits 找到相同的内容.有人听说过这样的项目吗?
最佳答案
您是否尝试过使用 Node.js 实现? (它使用 Object.create
,所以它是 may or may not work on the browsers you care about )。这是实现,来自 https://github.com/joyent/node/blob/master/lib/util.js :
inherits = function(ctor, superCtor) {
ctor.super_ = superCtor;
ctor.prototype = Object.create(superCtor.prototype, {
constructor: {
value: ctor,
enumerable: false,
writable: true,
configurable: true
}
});
};
CoffeeScript使用了另一种方法,编译
class Super
class Sub extends Super
到
var Sub, Super,
__hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
Super = (function() {
function Super() {}
return Super;
})();
Sub = (function(_super) {
__extends(Sub, _super);
function Sub() {
return Sub.__super__.constructor.apply(this, arguments);
}
return Sub;
})(Super);
关于javascript - 寻找 Node "util.inherits"的 JavaScript 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13201775/