ES6入门教程之变量的解构赋值详解(2)

function add([x,y]){ return x+y } add([3,5]) // 8 [[3,5],[6,7]].map(([a,b]) => a + b) //8 , 13 function m({x=3, y=4} = {}){ return [x,y] } m({x:33,y:8}) // [33,8] m({x:32}) // [32,4] m({}) // [3,4] m() // [3,4] function m({x,y} = {x=0,y=0}){ return [x,y] } m({x:33,y:8}) // [33,8] // 代替右边的 x:0, y:0 所以是传值 33 8 m({x:32}) // [32,undefined] //因为传值替代右边的赋值,但是只有x没有y //所以y是取 左边y的默认值,因为你没有赋值 为undefined m({}) // [undefined,undefined] // 取左边x,y的默认值,因为没有赋值 为undefined m() // [0,0] // 没有传值,使用本身的赋值 都是0

其他

不能使用圆括号的情况

变量声明语句

函数参数

赋值语句的模式

可以使用圆括号的情况

赋值语句的非模式部分,可以使用圆括号

解构赋值的用途

交换变量的值

从函数返回多个值

函数参数的定义

提取JOSN数据

函数参数的默认值

遍历Map结构

输入模块的指定方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/631b2dc7212047624f336168247c82bc.html