gpt4 book ai didi

javascript - 构造函数的 __proto__ 属性指向什么?

转载 作者:行者123 更新时间:2023-11-30 11:43:52 24 4
gpt4 key购买 nike

我正试图回过头来更好地理解原型(prototype)继承。我知道实例的 __proto__ 属性指向构造函数的 prototype 对象,但是构造函数的 __proto__ 属性指向什么?

我曾假设构造函数本身是 Function 的一个实例,它会指向 Function 构造函数的 prototype 对象,但下面显示它是一个空函数。

var Example = function(){
this.attribute = 'example';
}

var exampleInstance = new Example();

exampleInstance.__proto__ === Example.prototype // true
Example.__proto__ // function() {}

[编辑] Ovidiu Dolha 现在证实了我的理解,所以这可能对某些人有帮助。

enter image description here

最佳答案

Example.__proto__ 将与 Function.prototype 相同,正如 exampleInstance.__proto__Example 相同。原型(prototype)

这是因为 Example 是 Function 的一个实例。

一切最终都会到达Object.prototype,这是原型(prototype)继承的根。

请注意,您应该尽可能避免使用 __proto__,因为它被认为已弃用。而是使用 Object.getPrototypeOf()

关于javascript - 构造函数的 __proto__ 属性指向什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41673920/

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