// 1.Object.is() 比较两个值是否严格相等(===) console.log(Object.is(120,120)) console.log(Object.is(NaN,NaN)) //2.Object.assign() 对象合并:后面的对象会将前一个相同属性覆盖,其余合并 let obj1 = { name:"Lucy", age:18, sex: "女" }; let obj2 = { names:'LiLi', ages: 28 } console.log(Object.assign(obj1,obj2)); // 3.Object.setPrototypeOf 设置原型对象 // 4.Object.getPrototypeOf 获取原型对象 const school = { name:'MySchool' } const city = { area:['北京','上海','哈尔滨'] } Object.setPrototypeOf(school,city); console.log(Object.getPrototypeOf(school),'school') console.log(school) // es8对象扩展方法 // 5.Object.keys() 返回给定对象所有可枚举的键值数组 var person = { name:'我的名字', age: 33 } console.log(Object.keys(person),'keys') // 6.Object.values() 返回给定对象所有可枚举的属性值数组 console.log(Object.values(person),'values') // 7.Object.entries() 返回给定对象自身可遍历的[key,value]的数组 console.log(Object.entries(person),'entires') // 8.Object.getOwnPropertyDescriptors() 返回指定对象所有自身属性的描述对象 // 9.Object.create({},{}) console.log(Object.getOwnPropertyDescriptors(person)); const obj = Object.create(null,{ name: { value: '阿珍', writable: true }, age: { value: '40', writable: false, configurable:false, enumerable: false } }) console.log(Object.getOwnPropertyDescriptors(obj));