JavaScript/Node.js:为什么是原型__proto__=原型而不是新的

JavaScript/Node.js: Why prototype.__proto__ = prototype instead of new

本文关键字:原型 proto 为什么 Node JavaScript js      更新时间:2023-09-26

我正在研究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;

这些方法有什么好处吗?

提前感谢!

示例来自:

https://github.com/visionmedia/express/blob/master/lib/router/collection.js

https://github.com/visionmedia/express/blob/master/lib/https.js

new Array调用构造函数。则设置CCD_ 2不起作用。这是唯一的区别。

我认为作者太懒了不想使用Object.create

Collection.prototype = new Array;

每个集合都将共享相同的Array实例。

我不确定这是否适用于__proto__