许多人声称“Javascript 中的一切都是对象”,这是不对的。对象是六种(或七中,看你从哪个方面说)基本类型之一。对象有子类型,包括 function
,还可以被行为特化,比如 [object Array]
作为内部的标签表示子类型数组。
属性有一些可以通过属性描述符控制的特定性质,比如 writable
和 configurable
。另外,对象拥有它的不可变性(它们的属性也有),可以通过使用 Object.preventExtensions(..)
、、和 Object.freeze(..)
来控制几种不同等级的不可变性。
你也可以使用 ES6 的 for..of
语法,在数据结构(数组,对象等)中迭代 值,它寻找一个内建或自定义的 @
对象,这个对象由一个 next()
方法组成,通过这个 方法每次迭代一个数据。