在Javascript中,为什么Object.getPrototypeOf()返回一个空列表?

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

我期望Object.getPrototypeOf(myArray)会是这样的(从这里截图)..

图片1

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

在这里输入图像描述

有没有人有任何想法呢?

因为控制台正试图给你最有用的代表你所要求的。 它看到你传递的是一个数组( Array.isArray(Object.getPrototypeOf([1,2]))true ),所以它使用它的机制来显示数组。 由于原型数组是空的,所以你只要看看[]

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

 Object.getPrototypeOf({FOO: “酒吧”})
 => Object {}

(我正在使用Chrome。)

控制台对你通过它们的内容做了一些解释。 有些解释并不总是有用的。 例:

 var a = [];
 =>未定义
 a.foo =“bar”;
 >“酒吧”
一个
 => []

console.log(a)显示更有用

 [富: “酒吧”]

例如,一个非元素属性foo的数组,其值为"bar"