i looking @ article regarding node.js events module:
http://www.sitepoint.com/nodejs-events-and-eventemitter/
and in there code:
door.prototype.__proto__ = events.eventemitter.prototype; which supposedly sets prototype of door object prototype of event.eventemitter.
i believe know difference between prototype , proto code confuses me. questions whether instead of using:
door.prototype.__proto__ = events.eventemitter.prototype; the author of article did not use line of code:
door.prototype= events.eventemitter.prototype;
this code
door.prototype.__proto__ = events.eventemitter.prototype makes door.prototype inherit events.eventemitter.prototype.
so prototype chain like
doorinstance -> door.prototype -> events.eventemitter.prototype this approach similar to
door.prototype = object.create(events.eventemitter.prototype) the difference modifying [[prototype]] not create new object, has great negative impact on performance.
instead, code
door.prototype = events.eventemitter.prototype makes door instances inherit directly events.eventemitter.prototype.
that is, won't able add specific methods in door.prototype without polluting events.eventemitter.prototype.
Comments
Post a Comment