对象属性遍历 for...inObject.keys(obj)Object.getOwnPropertyNames(obj)Object.getOwnPropertySymbols(obj)Reflect.ownKeys(obj)
定义对象
var obj = { name: 'aaa', age: 'bbb', say: 'ccc', [Symbol("id")]: 'ddd' //设置Symbol属性}Object.defineProperty(obj, 'say', { //设置obj对象的say不可枚举 enumerable: false}); for…in
for…in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性)。
Object.keys(obj)Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。
console.log(Object.keys(obj)); //打印结果//["name", "age"] Object.getOwnPropertyNames(obj) console.log(Object.getOwnPropertyNames(obj)); //打印结果//["name", "age", "say"] Object.getOwnPropertySymbols(obj) console.log(Object.getOwnPropertySymbols(obj)); //打印结果//[Symbol(id)] Reflect.ownKeys(obj) console.log(Reflect.ownKeys(obj)); //打印结果//["name", "age", "say", Symbol(id)]免责声明:文章源自网络,版权归原作者所有,如有侵犯联系删除。