js对象的属性遍历,通常使用的方法有:
1、for…in
可查询到对象自身和原型上的所有可枚举属性;
2、Object.keys()
返回一个数组,包含了对象自身所有的可枚举属性,
不包括symbols属性;
3、Reflect.ownkeys()
返回一个数组,包含对象自身所有的可枚举和不可枚举属性,包括symbols属性
4、Object.getOwnPropertyNames()
返回一个数组,包含对象自身所有的可枚举和不可枚举属性,不包括symbols属性;
5、Object.getOwnPropertySymbols()
返回一个数组,包含对象自身所有symbols属性;
坑点:Vue项目中,将对象赋值给data里的某个属性时,该对象会被添加一个__obj__观察器属性,这个属性会被Reflect.ownkeys()方法获取,Object.keys()方法则不会返回该属性。