参考链接:https://blog.csdn.net/lgno2/article/details/124996065
for in 循环只能遍历可枚举的,如果含有 Symbol ,则无法遍历,会报错
Uncaught TypeError: obj is not iterable
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Enumerability_and_ownership_of_properties
in | for..in | obj.hasOwnProperty | obj.propertyIsEnumerable | Object.keys | Object.getOwnPropertyNames | Object.getOwnPropertyDescriptors | Reflect.ownKeys() | |
---|---|---|---|---|---|---|---|---|
自身的可枚举属性 | true | true | true | true | true | true | true | true |
自身的不可枚举属性 | true | false | true | false | false | true | true | true |
自身的 Symbol 键 | true | false | true | true | false | false | true | true |
继承的可枚举属性 | true | true | false | false | false | false | false | false |
继承的不可枚举属性 | true | false | false | false | false | false | false | false |
继承的 Symbol 键 | true | false | false | false | false | false | false | false |
JSON.stringify(xxx),此方法也只能读取对象本身的可枚举属性,并序列化为JSON对象。