美文网首页es6
ES6(解构赋值)

ES6(解构赋值)

作者: 余生筑 | 来源:发表于2017-09-15 09:35 被阅读0次

书写方法

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'

解构赋值的作用

  • 获取对象的属性/方法

或者

等效于


相关文章

网友评论

    本文标题:ES6(解构赋值)

    本文链接:https://www.haomeiwen.com/subject/pbfssxtx.html