gpt4 book ai didi

无法访问 JavaScript __proto__

转载 作者:行者123 更新时间:2023-12-03 21:46:11 26 4
gpt4 key购买 nike

我正在阅读 __proto__prototype 对象之间的区别,但是当我尝试访问 __proto__ 的实例时一个对象,它返回给我 undefined

下面是我写的代码:

function Student() {

}

var student = new Student();

student.constructor // works well returns function Student() {}

student.__proto__ // returns undefined.

我指的是 this blog但我也看到其他博客显示相同。我们从未获得对象实例的原型(prototype),而是使用 prototype 属性创建的 __proto__ 对象。

我是不是遗漏了什么或者 __proto__ 已经被完全删除了?我已经在 Linux 上的 Chrome 版本 40.0.2214.94 上对此进行了测试。

感谢任何帮助。谢谢!

最佳答案

属性 __proto__ 在 ECMA 6 以下的 JavaScript 版本中不是标准的,所以你不能指望每个浏览器都支持它,或者在每个浏览器中都有相同的行为。最好完全避免使用 proto。你可以在这里读到它: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto

这里是 brendan eich 对此的有趣评论: https://brendaneich.com/2011/01/harmony-of-my-dreams/编辑:

Object.setPrototypeOf is not going to happen. Writable proto is a giant pain to implement (must serialize to cycle-check) and it creates all sorts of type-confusion hazards. You may think you want it as a low-level sharp instrument. JS is not that language. Higher-level forms for classes and mixins seem much better and do not involve such sharp edges.

关于无法访问 JavaScript __proto__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29053011/

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