JavaScript __proto__ not acessible
JavaScript __proto__ not acessible
我正在阅读__proto__
和prototype
对象之间的差异,但是当我尝试访问对象实例的__proto__
时,它返回了我undefined
。
以下是我编写的代码:
function Student() {
}
var student = new Student();
student.constructor // works well returns function Student() {}
student.__proto__ // returns undefined.
我指的是这个博客,但我也看到了其他博客也显示了相同的内容。我们永远不会在对象的实例上获取原型,而是__proto__
对象,而是使用 prototype
属性创建的对象。
我是否遗漏了某些内容或__proto__
已被完全删除?我已经在 Linux 上的 Chrome 版本 40.0.2214.94 上对此进行了测试。
任何帮助表示赞赏。谢谢!
属性
__proto__
在ECMA 6以下的JavaScript版本中不是标准的,因此您不能期望每个浏览器都支持它,或者在每个浏览器中都有相同的行为。最好完全避免使用原型。你可以在这里阅读它: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 不会发生。可写原型实现起来非常痛苦(必须序列化为循环检查),并且会产生各种类型混淆危险。您可能认为您希望将其作为低级尖锐工具。JS不是那种语言。类和混合的高级形式似乎要好得多,并且不涉及如此锋利的边缘。
相关文章:
- jQuery is not loaded
- AngularJS JSON not arriving php
- $rootScope not working
- reactRedux is not defined
- jQuery document.ready not working
- Javascript/Jquery Blob not showing Chrome PDF
- ReferenceError: not defined
- ReferenceError: cordova is not defined @ng-cordova.min.js:7
- Javascript getElementsByTagName not working?
- jQuery's trim()的前缀为not运算符
- Javascript - element.childNodes does not see an append.newch
- SemanticUI模态not onDeny/onApprove事件未激发
- WebkitTransform not fluent
- JQuery.val( ) not working
- Tomcat websocket is not working
- :not选择器不适用于ul类-备选方案
- Javascript JSON.parse not working
- NodeJS Multer is not working
- React, Webpack: bundle.js is not generated
- JavaScript __proto__ not acessible