1、Object.is():它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。
let obj11 = {};
let obj12 = {};
let r11 = Object.is(obj11, obj12);
console.log("r11", r11); //false
let r12 = Object.is(obj11, obj11);
console.log("r12", r12); //true
2、Object.assign():用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。该方法实行的是浅拷贝,而不是深拷贝
注意:两个源对象里面的属性名称不要相同,不然会被覆盖。
let objS21 = { name1: "zs", age1: 18 };
let objS22 = { name2: "ls", age2: 8 };
let objT21 = {};
Object.assign(objT21, objS21, objS22);
console.log(objT21); //{name1: "zs", age1: 18, name2: "ls", age2: 8}
3、Object.keys(),Object.values(),Object.entries()条目
let obj31 = { name: "zs", age: 18, sex: "男" };
let r31=Object.keys(obj31);
let r32=Object.values(obj31);
let r33=Object.entries(obj31);
console.log(r31); //["name", "age", "sex"]
console.log(r32); //["zs", 18, "男"]
console.log(r33); //[Array(2), Array(2), Array(2)]
// 0: (2) ["name", "zs"]
// 1: (2) ["age", 18]
// 2: (2) ["sex", "男"]
4、Object.fromEntries():该方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。
let map41 = new Map([["name", "zs"], ["age", 18], ["sex", "男"]]);
let obj41 = Object.fromEntries(map41);
console.log(obj41); //{name: "zs", age: 18, sex: "男"}