在chrome 45中:
{}[Symbol.iterator]
//returns [Symbol(Symbol.iterator)]
typeof ({}[Symbol.iterator])
//returns "undefined"
({}[Symbol.iterator]) || "foo"
//returns "foo"
所以对象的迭代器是某种未定义的......但那么第一行显示的是什么呢?
答案 0 :(得分:2)
{}
是一个代码块(其中没有代码),而不是对象。然后是一个包含值Symbol.iterator
的数组文字,这是控制台显示的值。
当你将(
放在{
之前时,它会成为一个对象,因为你不能在parens中有一段代码。