gpt4 book ai didi

javascript - 为什么可以检索原型(prototype)但 __proto__ 在 JavaScript 中未定义?

转载 作者:行者123 更新时间:2023-12-03 09:41:44 24 4
gpt4 key购买 nike

现在我正在学习 JavaScript prototype__proto__,并找到了几个有用的链接

__proto__ VS. prototype in JavaScript

How does __proto__ differ from constructor.prototype?

我可以在 Chrome 下通过以下代码获取对象 f__proto__ 的值。

var Foo = function() {}
var f = new Foo();
f.__proto__
> Foo {}

但是,将Foo.prototype.__proto__设置为null后,__proto__的值为undefined .

var Foo = function() {}
Foo.prototype = {name: 'cat', age: 10};
Foo.prototype.__proto__ = null;
var f = new Foo();
f.__proto__
> undefined

但是我可以得到f.name的值,也就是cat。这是我的理解,因为f.name的值是可取的,对象f__proto__应该指向Foo.prototype 。为什么 f.__proto__ 的值是 undefined

最佳答案

__proto__ 是 JavaScript 的内部特殊属性。你不应该使用。

来自 mdn

While Object.prototype.proto is supported today in most browsers, its existence and exact behavior has only been standardized in the ECMAScript 6 specification as a legacy feature to ensure compatibility for web browsers. For better support, it is recommended that only Object.getPrototypeOf() be used instead.

关于javascript - 为什么可以检索原型(prototype)但 __proto__ 在 JavaScript 中未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31159621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com