En el código para el módulo Express para Node.js me encontré con esta línea, el establecimiento de la herencia para el servidor:La confusión acerca de la configuración something.prototype .__ proto__
Server.prototype.__proto__ = connect.HTTPServer.prototype;
no estoy seguro de lo que esto hace - la documentación del MDC (https://developer.mozilla.org/en/JavaScript/Guide/Inheritance_Revisited#prototype_and_ proto) parecen decir que yo sólo podía hacer:
Server.prototype = connect.HTTPServer.prototype;
de hecho, lo hice esta prueba:
var parent = function(){}
parent.prototype = {
test: function(){console.log('test')};
}
var child1 = function(){};
child1.prototype = parent.prototype;
var instance1 = new child1();
instance1.test(); // 'test'
var child2 = function(){};
child2.prototype.__proto__ = parent.prototype;
var instance2 = new child2();
instance2.test(); // 'test'
¿Parece ser lo mismo? Entonces, yah, me pregunto para qué sirve object.prototype .__ proto. ¡Gracias!
Posible duplicado de [\ _ \ _ proto \ _ \ _ VS. prototipo en JavaScript] (http://stackoverflow.com/questions/9959727/proto-vs-prototype-in-javascript) –