ES6(解构赋值)

书写方法

1.左右结构一致
2.声明与赋值在一句话内

数组解构赋值

let [a,b,c]=[1,2,3]
console.log(a,b,c) //1,2,3

json解构赋值

let {a,b,c}={a:12,b:13,c:14}
console.log(a,b,c) //12,13,14

粒度控制

    let [json,arr,[a,b]]=[{e:5,f:7},[2,13,4],[90,91]]
        console.log(json,arr,a,b) //{e:5,f:7} [2,13,4] 90 91

特殊情况

只有当y对应的值===undefined时,y才会取默认值

let [x,y='b']=['a']
//y:'b'
let [x,y='b']=['a',null]
//y:'null'
let [x,y='b']=['a',void,0]
//y:'b'(void (0)===undifined返回true)
let [x,y='b']=['a',0]
//y:0

默认参数

function(z,f='a'){console.log(f)}
foo('n',null)//'a'

解构赋值的作用

  • 获取对象的属性/方法

或者

书写方法

1.左右结构一致
2.声明与赋值在一句话内

数组解构赋值

let [a,b,c]=[1,2,3]
console.log(a,b,c) //1,2,3

json解构赋值

let {a,b,c}={a:12,b:13,c:14}
console.log(a,b,c) //12,13,14

粒度控制

    let [json,arr,[a,b]]=[{e:5,f:7},[2,13,4],[90,91]]
        console.log(json,arr,a,b) //{e:5,f:7} [2,13,4] 90 91

特殊情况

只有当y对应的值===undefined时,y才会取默认值

let [x,y='b']=['a']
//y:'b'
let [x,y='b']=['a',null]
//y:'null'
let [x,y='b']=['a',void,0]
//y:'b'(void (0)===undifined返回true)
let [x,y='b']=['a',0]
//y:0

默认参数

function(z,f='a'){console.log(f)}
foo('n',null)//'a'

解构赋值的作用

  • 获取对象的属性/方法

或者

等效于


推荐阅读更多精彩内容

  • 1.在指定默认值时,赋值为<code>null</code>和<code>undefined</code>是不同的...
    请输入其他名字阅读 1,287评论 0 0
  • 基本用法可以从数组中提取值,按照对应的位置,对变量赋值 嵌套数组进行结构 不完全解构即等号左边的模式只匹配一部分等...
    _by_w_z阅读 104评论 0 3
  • 解构 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值 数组解构赋值 本质上这种写法相当于模式匹配如...
    heheheyuanqing阅读 227评论 0 0
  • 解构赋值 解构赋值说白了就是一种模式匹配,等号左右两边对应变量和值。解构赋值可以是完全解构赋值,即每个值与右边一一...
    roylai阅读 77评论 0 0
  • 订阅Linux内核邮件列表 参考自:http://www.wowotech.net/linux_applicati...
    techping阅读 1,886评论 0 0