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(); //返回对象自身所有属性