返回一个对象键名组成的数组,需要IE9+支持
1.对象处理,返回枚举属性数组
const person = {
name:"Jerry",
age:18,
gender:"male"
}
console.log(Object.keys(person))//["name", "age", "gender"]
2.数组处理,返回索引数组
let arr = [1,2,3,4,5,6]
console.log( Object.keys(arr) )
3.字符串处理,返回索引值数组
let str = "saasd字符串"
console.log( Object.keys(str) )
描述对象的enumerable
属性,称为“可枚举性”,如果该属性为false
,就表示某些操作会忽略当前属性。
目前,有四个操作会忽略enumerable
为false
的属性。
for...in
循环:只遍历对象自身的和继承的可枚举的属性。Object.keys()
:返回对象自身的所有可枚举的属性的键名。JSON.stringify()
:只串行化对象自身的可枚举的属性。Object.assign()
: 忽略enumerable
为false
的属性,只拷贝对象自身的可枚举的属性。
前三个是ES5就有的,最后一个Object.assign()
是 ES6 新增的。
参考ES6 入门教程