1. 属性及方法的简洁表示
当key名与value名相同时 可以简写为下面ES6形式。
let name = "ali";
let age = 18;
//ES5
var obj1 = {
name: name,
age: age,
run:function(){
console.log("快速跑!")
}
}
//ES6
var obj2 = {
name,
age,
run(){
console.log("快速跑!")
}
}
2. Object.is()
相当于全等,但是有区别
建议使用 ===
console.log(Object.is(1,2)); //false
console.log(1===2); //false
console.log(Object.is(NaN, NaN)); //true
console.log(NaN === NaN); //false
console.log(Object.is(0, -0)); //false
console.log(0===-0); //true
3. Object.assign(obj1,obj2,obj3)
合并对象
所有对象都会合并到obj1,如果是相同的属性,后边的对象的属性值 会对前边的进行覆盖。
4. Object.keys(obj)
将obj的key值返回一个纯数组
let person = {name:"张三",age:25,address:"深圳",getName:function(){}}
Object.keys(person) // ["name", "age", "address","getName"]
5. Object.values(obj)
将obj的value值返回一个纯数组
let person = {name:"张三",age:25,address:"深圳",getName:function(){}}
console.log(Object.values(person)); // ['张三', 25, '深圳', ƒ]
6. Object.entries(obj)
返回一个二维数组,每一个小数组都是一对[key, value]
let person = {name:"张三",age:25,address:"深圳",getName:function(){}}
console.log(Object.entries(person));
// (4) [Array(2), Array(2), Array(2), Array(2)]
// 0: (2) ['name', '张三']
// 1: (2) ['age', 25]
// 2: (2) ['address', '深圳']
// 3: (2) ['getName', ƒ]