Object.is(); // 与 === 一致 不同之处在于 +0 不等于 -0 NAN等于自身
+0 === -0 //true
NAN === NAN // false
Object.is(+0, -0) //false
Object.is(NAN, NAN) //true
Object.assign(); // 参数为undefined 跟 null的时候 会报错,因为他们不能转为对象
// 1 返回自身
// 2 undefined null 不在首参数不报错 只会返回自身
// 3 只复制源对象自身属性,不复制继承属性,不复制不可枚举属性
// 4 Symbol属性可以被复制
// 5 浅复制
Object.assign({}, 'abc') // => {"0":"a","1":"b","2":"c"}
Object.keys(); //返回自身的不含继承的所有可枚举属性
// for...in 遍历自身和继承的可枚举属性
Object.getOwnPropertyNames() // 返回自身所有属性 不包括不可枚举属性
Object.getOwnPropertySymbols() //返回自身所有symbol属性
Reflect.ownKeys() //返回对象自身的所有属性 是所有的! 包含可枚举 不可枚举 sumbol
Object.setPrototypeOf(); //设置原型
Object.getPrototypeOf();
Object.entries();
Object.values()
Object.getOwnPropertyDescriptors(); //返回对象自身所有属性