判断两个值是否严格相等:Object.is()优于运算符(===)。
Object.assign()方法用于对象的合并时,函数返回的是修改(合并)后的目标对象。
注意事项:源对象必须产生可枚举属性。字符串包装对象会产生可枚举属性,数值和布尔值包装对象不会产生可枚举属性。
Object.assign和扩展运算符(...)都是可实现对象的拷贝,但是都是浅拷贝,要想实现深拷贝,方法如下:
const deepClone=(obj)=>{
var proto=Object.getPrototypeOf(obj);
return Object.assign({},Object.create(proto),obj);
}
通过Object.entries()可以将对象转换成对象数组
const convertObjToArray = (obj) => {
let arr;
for (let [key, value] of Object.entries(obj)) {
arr.push({key, value});
}
return arr;
}
通过Object.keys()获取对象的所有key值(以数组的形式呈现)
const getKeysFromObject = (obj) => {
let arr;
for (let key of Object.keys(obj)) {
arr.push(key)
}
return arr;
}
通过Object.values()获取对象的所有value值(以数组的形式呈现)
const getValuesFromObject = (obj) => {
let arr;
for (let key of Object.values(obj)) {
arr.push(key)
}
return arr;
}