对象简写
对象属性表达式
我们希望将外面定义的变量名 变为对象里面的属性名 ,使用 []
对象里面的扩展运算符
应用
对象里面是一层数据
若对象里面只是一层数据,它的元素只是简单类型的元素,那么就属于深拷贝 。
修改了name 那么此时的obj1 和 obj的name不一样
对象里面是引用类型的元素
对象里面是引用类型的时候,那么就是浅拷贝
那么 obj1 和 obj 里面的age 就会都修改了
进行合并
多个合并
在属性名 相同的情况下,若多个对象的里面的属性名一样的话,那么后面的会把前面的给覆盖掉
Object.assign
es6提供的合并对象的语法糖
Object.assign(要拷贝给谁【目标对象】,拷贝的是哪一个对象)
es6对象的简化写法
es6 允许在大括号中,直接写入变量和函数,作为对象的属性和方法
Object.is 判断两值是否相同
es6之前
在es6之前,是 用 == 、 === 判断的,不过它无法判断NaN是否相同
es6之后
在es6之后,是 使用 Object.is来进行判断的
与 == 、=== 的不同点
判断 NaN
我们可以利用Object.is来判断 传入的值是否是相同的
因为 Object.is可以判断 两个 NaN是相同的
判断 +0 、-0
**在Object.is中 **
在== === 中
Object.setPrototypeOf
是给原型对象设置的
Object.setPrototypeOf(要设置原型的对象,该对象的一个新原型)
Object.getPrototypeOf
是获取刚才使用 Object.setPrototypeOf 设置的原型对象的
Object.getPrototypeOf(返回哪个对象的原型)