我阅读过并尝试理解其他类似于这个问题的答案 (像这个),但是原型继承的概念对我来说仍然不太清晰。目前最困扰我的问题是,__proto__
和[[ Prototype ]]
之间的实际区别是什么? 就我所能理解的而言,[[ Prototype ]]
是将一个对象与另一个对象"内部链接"的机制。但是当我在Youtube上看教程时会变得模糊不清,因为每当他们创建一个对象并尝试在浏览器控制台中使用console.log
输出时,它都包含__proto__
属性,但当我尝试做同样的事情时,输出的是[[ Prototype ]]
。所以我想知道为什么会这样?"内部链接"是什么意思?提前感谢! :)
以下是在chrome中输出"[[ Prototype ]]",在firefox中输出"<prototype>"的代码。
function User(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
const user = new User("Someone", "Something");
console.log(user);
__proto__
。 - ansme[[prototype]]
是一些新东西。我尝试过像“Chrome开发者工具中__proto__是否已更改为[[prototype]]”这样的搜索,但Google无法理解我的问题,似乎没有返回任何相关结果。 - user1063287