外观
对象
Object.keys()
返回一个由给定对象自身的可枚举的字符串键属性名组成的数组
规范定义
- 调用 ToObject(O) 将结果赋值给变量 obj
- 调用 EnumerableOwnPropertyNames(obj, "key") 将结果赋值给变量 nameList
- 调用 CreateArrayFromObj(nameList) 得到最终的结果
返回的对象属性顺序
js
const obj = {
2: true,
1: true,
'a': true,
[Symbol(1)]: true
}
console.log(Object.keys(obj)) // [ '1', '2', 'a' ]
- 将所有合法的数组索引按升序排序
- 将所有字符串类型索引按属性创建时间按升序返回
- 将所有 Symbol 类型索引按属性创建时间按升序返回 (但
EnumerableOwnPropertyNames
规范中规定返回值只包含字符串属性)