【前端知识点】对象属性的获取

80 阅读1分钟

JS获取对象key的方法for in,Object.keys,Object.getOwnPropertyNames,Reflect.ownKeys比较_js 获取对象的keys-CSDN博客

获取对象的属性有多种方法:

for in:遍历自身的和继承的全部可枚举属性。不包括不可枚举属性和Symbol属性

Object.keys():返回一个数组;获取自身(不含继承)可枚举属性。不包括不可枚举属性、Symbol属性

Object.getOwnPropertyNames:返回一个数组;获取自身全部(不含继承)属性名称,包括不可枚举属性,不包括Symbol属性

Object.getOwnPropertySymbols:返回一个数组,遍历了对象自身的所有Symbol属性

Reflect.ownKeys:返回一个数组;获取自身(不含继承)全部属性名称,包括不可枚举属性、Symbol。其实就是Object.getOwnPropertyNames与Object.getOwnPropertySymbols之和

用法:Reflect.ownKeys(obj)

相同点和不同

只有for in 包含继承的可枚举属性;

只有Object.getOwnPropertySymbols和Reflect.ownKeys可以包含Symbol属性;

只有Object.getOwnPropertyNames和Reflect.ownKeys包含不可枚举属性;