javascript - 在 Javascript 中,为什么 Object.getPrototypeOf([1,2]) 返回一个空列表?

标签 javascript node.js google-chrome object prototype

在 Chrome 42.0 中,我使用 var myArray = [1,2]myArray 赋值,

我希望 Object.getPrototypeOf(myArray) 会像这样(来自 here 的屏幕截图)..

picture1

但是,当我在 REPL 中评估代码时,我只得到一个空列表:

enter image description here

有没有人对此有任何想法?

最佳答案

因为控制台正在努力为您提供最有用的您所要求的表示。它看到你传递给它的是一个数组(Array.isArray(Object.getPrototypeOf([1,2]))true),所以它显示了它使用其显示数组的机制。由于原型(prototype)数组是空的,您只会看到 []

它对非数组对象做同样的事情:

Object.getPrototypeOf({foo:"bar"})
=> Object {}

(我使用的是 Chrome。)

控制台会对您传递给它们的内容进行一些解释。有些解释并不总是有用的。示例:

var a = [];
=> undefined
a.foo = "bar";
=> "bar"
a
=> []

console.log(a) 显示更有用

[foo:"bar"]

例如,具有非元素属性 foo 且值为 "bar" 的数组。

关于javascript - 在 Javascript 中,为什么 Object.getPrototypeOf([1,2]) 返回一个空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30343139/

相关文章:

html - 在Chrome浏览器的子输入内部拖动时,如何滚动父容器?

javascript - 为什么我不能声明一个构造函数实例化一个对象然后访问原型(prototype)?

javascript - 需要将 PHP 正则表达式转换为 JavaScript 正则表达式

node.js - 在执行 npm install 时出现错误 "No such file or directory open"

javascript - 具有可破坏障碍物的星

node.js - Typescript Express 请求输入

javascript - Chrome 中 HTML5 视频奇怪的渲染错误

angularjs - 即使在成功调用 api 后,.NET Core web api 也会出现 CORS 错误

javascript - 环形截面点击事件

javascript - 在 JSON 查询中使用变量