同様の機能を備えたモジュールを作成しているときに見逃していた可能性のあることを学ぶことを期待して、いくつかのNode.jsモジュールを調べてきました。それから私はハウンドからこのコードに出くわしました:
function Hound() {
//why this?
events.EventEmitter.call(this)
}
//ok, so inheriting the EventEmitter
util.inherits(Hound, events.EventEmitter);
ドキュメントに記載されているように、util.inherits()
Node.jsの関数が子コンストラクターのプロトタイプとして新しい親インスタンスを作成することを知っています。
コンストラクターのプロトタイプは、superConstructorから作成された新しいオブジェクトに設定されます。
では、コンストラクターがを継承EventEmitter
している場合、コンストラクターutil.inherits()
内のそのコードは何のためにあるのでしょうか。