ES6 -对象的扩展
1.对象简洁语法(属性,方法简化)
let name='aaa'; let age=12; let obj={ name,//name age, //age:age // test:function(){ // return this.name; // }, test(){ //方法同上面的test,不可以用箭头函数 return this.name; }, } console.log(obj.test());//aaa
2.Object.is() :用来比较两个值是否相等
console.log(Object.is(NaN,NaN));//true console.log(Object.is(+0,-0));//false console.log(Object.is({a:1},{a:1}));//false
3.Object.assign(目标对象,source1,source2,) :用来合并对象
用途:1.复制一个对象 2.合并参数
// 复制对象,不会改变原对象 let arr=[1,2,3]; let arr1=Object.assign([],arr); console.log(arr1);//[1, 2, 3] console.log(arr1==arr);false // 合并参数,对于相同的参数,后面的覆盖前面的 function get(parameter){ let default1={ name:'aaa', age:12, sex:'nv' } let cur=Object.assign({},default1,parameter); console.log(cur); } get({name:'su',age:123});//{name: "su", age: 123, sex: "nv"}
4.循环
Object.keys()
Object.entries();
Object.values();
let {keys,values,entries}=Object;//解构
let json={
a:1,
b:2,
c:3
}
for(let key of keys(json)){
console.log(key);// a b c
}
for(let value of values(json)){
console.log(value);// 1 2 3
}
for(let item of entries(json)){
console.log(item);// ["a", 1] ["b", 2] ["c", 3]
}
for(let [key,value] of entries(json)){
console.log(key);// a b c
console.log(value);// 1 2 3
}
5.对象扩展运算 ...
// 剩余 let {x,y,...z}={x:1,y:2,a:3,b:4}; console.log(x,y,z); //1 2 {a: 3, b: 4} //深复制 let json={a:1,b:2}; let json2={...json}; console.log(json2);//{a: 1, b: 2} console.log(json==json2);//false
浙公网安备 33010602011771号