遍历对象属性

对象属性有这些方面

method Symbol Nonenumerable Inherited
Object.keys()
Object.values()
Object.entries()
- - -
.hasOwnProperty() Y Y -
.propertyIsEnumerable() Y Y -
Object.getOwnPropertyNames() - Y -
Object.getOwnPropertySymbols() Y Y -
Object.getOwnPropertyDescriptor() Y Y -
Object.getOwnPropertyDescriptors() Y Y -
Reflect.ownKeys() Y Y -
for...in - - Y
in operator Y Y Y

名字中包含 Own 的方法只处理自身属性。

.propertyIsEnumerable() 判断属性是否可以枚举

参考