javascript - 寻找 Node "util.inherits"的 JavaScript 实现

标签 javascript node.js

我正在实现一个也可以在 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/

相关文章:

javascript - 将多个 jquery ui 元素相互绑定(bind)

javascript - Slick - 代码执行

javascript - element.parentNode.removeChild(element) 之前是否需要 element.removeEventListener()?

node.js - 在 knex.js 中创建迁移会引发错误

node.js - Sequelize - 支持的最高 PostgreSQL 版本

node.js - 分配给 node.js 变量的值返回奇怪的值

javascript - 在字符串之间使用标签 <mark>

javascript - AngularJS:如何在 ngView 上为每个元素放置输入动画

audio - 查找带有 HTML5 <audio> 标签的流式 MP3 文件

javascript - 如何将 Express 响应对象传递给前端 JS 对象