我正在研究node.js的Express框架,所有的继承都是通过:
完成的Collection.prototype.__proto__ = Array.prototype;
不等于:
Collection.prototype = new Array;
另一个:
var app = HTTPSServer.prototype;
function HTTPSServer(options, middleware){
connect.HTTPSServer.call(this, options, []);
this.init(middleware);
};
app.__proto__ = connect.HTTPSServer.prototype;
那些approches有什么好处吗?
提前致谢!
来自的例子:
https://github.com/visionmedia/express/blob/master/lib/router/collection.js
https://github.com/visionmedia/express/blob/master/lib/https.js
答案 0 :(得分:1)
new Array
调用构造函数。设置__proto__
没有。这是唯一的区别。
我认为作者太懒了不想使用Object.create
答案 1 :(得分:0)
Collection.prototype = new Array;
每个Collection都将共享相同的Array实例。
我不确定这是否适用于__proto__
?