诸如Math
和JSON
之类的东西是具有键的对象 ,但是它们报告为没有键。
> Object.keys(JSON);
Array(0) []
> [...JSON]
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator))
> Object.getOwnPropertySymbols(JSON);
Array(1) [Symbol(Symbol.toStringTag)]
length:1
__proto__:Array(0) [, …]
0: Symbol(Symbol.toStringTag)
我最好的猜测是它们被设计为不可迭代的。但为什么?又如何?