获取key值有下列几种方法:
- for..in... 原型链上 继承过来可枚举的都可拿到
- object.keys 返回一个数组-----是如何排序的?先排合法的数组索引(0.1.2.3.4 整数)再按照字符串(a,b,c)创建顺序排序,再symble类型创建时间 (可枚举都能拿到)
- Object.getOwnPropertyNames(obj)返回一个数组,拥有自身的可枚举属性和不可枚举属性.但是不可以拿到Symbol作为键的属性。
- Object.getOwnPropertySymbols(obj) 方法返回一个给定对象自身的所有 Symbol 属性的数组。
- reflect.ownKeys() 返回一个由目标对象自身的属性键组成的数组。相当于Object.getOwnPropertyNames(obj)方法 和 Object.getOwnPropertySymbols(obj)的合并。
提到for...in... 想到 和for...of...的区别
- for..in... 遍历key值,遍历原型链上、继承过来可枚举的都可拿到
- for of 遍历value,只能遍历有迭代器属性
版权声明:本文为QY_99原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。