В коде для модуля Express для Node.js я наткнулся на эту строку, установив наследование для сервера:
Server.prototype.__proto__ = connect.HTTPServer.prototype;
Я не уверен, что это делает - документы MDC (https://developer.mozilla.org/en/JavaScript/Guide/Inheritance_Revisited#prototype_and_ proto), похоже, говорят, что я мог просто выполните:
Server.prototype = connect.HTTPServer.prototype;
Действительно, я сделал это испытание:
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'
Кажется, что то же самое? Итак, да, мне интересно, какой параметр object.prototype.__ proto для. Спасибо!