Javascript util.inherits在coffeescript中
我正在Node.js服务器上工作,我正在使用coffee脚本进行开发 这在咖啡脚本上是如何工作的Javascript util.inherits在coffeescript中,javascript,node.js,coffeescript,Javascript,Node.js,Coffeescript,我正在Node.js服务器上工作,我正在使用coffee脚本进行开发 这在咖啡脚本上是如何工作的 EventEmitter = require('events').EventEmitter util.inherits(Connector, EventEmitter) 是吗 EventEmitter = require('events').EventEmitter class @Connector extends EventEmitter 我基本上是想把emit添加到Connector。
EventEmitter = require('events').EventEmitter
util.inherits(Connector, EventEmitter)
是吗
EventEmitter = require('events').EventEmitter
class @Connector extends EventEmitter
我基本上是想把emit
添加到Connector
。
比如:
this.emit('online')
是的,做了一件类似的事情
:
:
区别在于:
- 子构造函数上的
属性的确切名称super
使用util.inherits
而对象。create
使用ES3兼容版本extends
使子构造函数的util.inhirits
属性不可枚举构造函数
将父构造函数的“静态”属性复制到子构造函数上extend
- 如果没有为类提供
构造函数,则
会自动扩展
关键字
util
?哪个语法无效?它是有效的,我指的是inherits
。你可以做的是比较编译后的代码,看看它是否做了同样的事情。我更新了问题,以了解我试图实现的目标。那么你有问题吗?控制台中有错误吗?我不确定我是否理解你的要求。如果要查看继承
是否与咖啡中的扩展
相同,请编译代码,并将其与JavaScript版本进行比较。
inherits = function(ctor, superCtor) {
ctor.super_ = superCtor;
ctor.prototype = Object.create(superCtor.prototype, {
constructor: {
value: ctor,
enumerable: false,
writable: true,
configurable: true
}
});
};
var __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;
};
function Connector() {
return Connector.__super__.constructor.apply(this, arguments);
}
__extends(Connector, EventEmitter);