1、新增方法Object.is()方法,判断全等,弥补’===‘的不准确运算,这个方法接受两个参数,只有两个参数类型和值都相同时,会返回true
consoel.log(Object.is(+0, -0)) // false
consoel.log(Object.is(NAN, NAN)) // true
consoel.log(+0 === -0) // true
consoel.log(NAN === NAN) // false
除了这两个特殊的之外,值与’===‘ 相同
2、新增Object.assign()方法,接受一个接收对象,和任意数量的源对象,最终返回接收对象。
3、改变对象原型Object.setPrototypeof(),接收两个参数,被改变原型的对象及替代第一个参数原型的对象
let person = {
getGreeting() {
return 'hello';
}
}
let dog= {
getGreeting() {
return 'woof';
}
}
let friend = Object.create(person)
console.log(friend.getGreeting()) // 'hello'
console.log(Object.getPrototypeof(friend) === person) // true
Object.setPrototypeof(friend, dog)
console.log(friend.getGreeting()) // 'woof'
console.log(Object.getPrototypeof(friend) === dog) // true