中的方法会传入2个参数,第一个参数是个对象,你可以随意命名,然后使用.commit的方法调用commit函数,或者使用对象解构直接使用commit
不使用对象解构:
?...合并多个数组
?
函数柯里化
?
对象属性/方法简写(常用)
对象属性简写
es6允许当对象的属性和值相同时,省略属性名
?
需要注意的是
对象属性简写经常与解构赋值一起使用
?...,所以x的值为10,而第二个参数同样传了一个空对象,不会使用函数默认值,然后会尝试解构出变量y,发现空对象中也没有变量y,但是y没有设置默认值所以解构后y的值为undefined
第二行第一个参数显式的传入了一个...,第一个参数和上文一样,第二个参数会调用函数默认值,赋值为{y:10},然后尝试解构出变量y,即y为10
第四行和第三行相同,一个是显式传入undefined,一个是隐式不传参数
第五行直接使用传入的参数...可以这么理解,Object.assign遍历需要合并给target的对象(即sourece对象的集合)的属性,用等号进行赋值,这里遍历{a:1}将属性a和值数字1赋值给target对象,然后再遍历{b: