chrome为对象迭代器显示了什么

时间:2015-09-18 21:46:35

标签: javascript object iterator generator

在chrome 45中:

{}[Symbol.iterator]
//returns [Symbol(Symbol.iterator)]
typeof ({}[Symbol.iterator])
//returns "undefined"
({}[Symbol.iterator]) || "foo"
//returns "foo"

所以对象的迭代器是某种未定义的......但那么第一行显示的是什么呢?

1 个答案:

答案 0 :(得分:2)

第一行中的

{}是一个代码块(其中没有代码),而不是对象。然后是一个包含值Symbol.iterator的数组文字,这是控制台显示的值。

当你将(放在{之前时,它会成为一个对象,因为你不能在parens中有一段代码。