【发布时间】:2020-08-01 14:50:40
【问题描述】:
function Product(name, price) {
this.name = name;
this.price = price;
}
const p1 = new Product('Pen', 20);
const p2 = Object.create(p1);
console.log(p1.constructor.prototype === p1.__proto__); // true
console.log(p2.constructor.prototype === p2.__proto__); // false
我的理解是这两者总是相等的(就像在第一个 console.log 声明中一样)。
但是,在进行一些调整时,我发现了这个令人惊讶的结果(第二个 console.log 声明)。
有人可以澄清我对prototype和__proto__之间关系的理解。提前致谢!
【问题讨论】:
标签: javascript prototypal-inheritance