ES6允许直接写入变量和函数,作为对象的属性和方法.这样书写更为简洁,除了属性简写,方法也可以简写.
ES6允许字面量定义对象时用表达式作为对象的属性,即把表达式放在方括号内,表达式还可以用于定义方法名,注意属性名表达式与简洁表达法,不能同时使用,会报错.
注意属性名表达式如果是一个对象,默认情况下回自动将对象转化为字符串,[object,object] 这一点需要特别注意
函数的name属性返回函数名,对象方法也是函数,因此也有name属性.
ES6提出同值相等算法,Object.is就是部署这个算法的新方法,它是用来比较二个值是否严格相等,与严格运算符===的行为基本一致,不同之处有两个,1是 0不等于-0;2是NaN等于自身,Object.assign方法用于对象的合并,将源对象的所有可枚举属性复制到一个目标对象,Object.assign方法的第一个参数是目标参数,后面的参数都是源对象.注意,如果目标对象与源对象有相同的属性,或多个相同属性,则最后面的属性会覆盖最前面的对象.若只有一个参数,Object.assign会直接返回参数,如参数不是对象,则会转化为对象,然后返回.若非对象参数出现在源对象的位置,那么处理规则有所不同,首先这些参数会转化为对象,对于无法转化的,跳过,Object.assign方法实行的浅复制
Object.assign的用处
1:为对象添加属性
2:为对象添加方法
3:克隆对象
4:合并对象
5:为属性指定默认值