object.values方法返回存储指定对象所有自有可枚举属性值的数组。
此方法遍历属性的顺序与使用for in语句遍历的顺序相同。
规则如下:
1.首先遍历属性名为数值的属性,按照数字由小到大。
2.再次遍历属性名为字符串的属性,按照定义时间由早到晚。
3.最后遍历属性名为symbol(es2015新增)值的属性,按照定义时间由早到晚。
特别说明:
- for in可以遍历原型链上的属性,Object.values不可以。
- 属性分为可枚举属性和不可枚举属性,下面做一下简单介绍:
- 属性是否可以被枚举,是由属性自身的enumerable属性所决定的,其实属性也类似一个对象。
- 代码实例如下:
- let Antzone={
webName:“蚂蚁部落”,
age:6
}
Object.defineProperty(Antzone,“url”,{
value:“http://www.softwhy.com”,
enumerable;false
});
为对象antzone对象添加一个URL属性,并且规定其为不可枚举,enumerable属性值为false。
es2017新增object.values方法。
语法结构:
Object.values(obj)
let Antzone={
webName:“蚂蚁部落”,
age:6
}
console.log(Object.values(Antzone));
let Antzone={
webName:“蚂蚁部落”,
age:6
}
Object.defineProperty(Antzone,“url”,{
value:“http://www.softwhy.com”,
enumrable:false
});
console.log(Object.values(obj));