//参照阮一峰老师的es6es6
function move({x=0,y=0} = {}){ return [x,y]; } move({x:3,y:8});//[3,8] move({x:3});//[3,0] move({});//[0,0] move();//[0,0]
move的参数是一个对象,经过对这个对象进行解构,获得变量x,y的值,若是解构失败则返回默认值。函数
function move({x,y}={x=0,y=0}){ return [x,y]; } move({x:3,y:8});//[3,8] move({x:3});//[3,_undefined_] move({});//[undefined,undefined] move();//[0,0]
上边的代码是为函数move的参数指定默认值,而不是为变量x,y制定默认值,因此与第一种不一样code