//參照阮一峯老師的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