解构赋值与默认值
// 写法一
function m1({x = 0, y = 0} = {}) { return [x, y] }
// 写法二
function m2({x, y} ={ x: 0, y: 0 }) { return [x, y] }
写法一传入参数后,如果解构失败,会用默认值
写法二传入参数后,默认值就被覆盖,解构失败只会返回undiifned值。只有在没有传入参数时,默认值才生效。
对已经定义的变量使用解构赋值:
({ img:imgArr = [], bar:barShow = false, } = model)
要用()括起来,因为JavaScript引擎会把{
开头的语句当作块处理,于是=
不再合法。
解构赋值时使用 原变量名:新变量名 = [原变量名]