ES6语法学习笔记(2)-解构赋值

    xiaoxiao2022-07-07  172

    数组解构赋值

    let a,b,rest; [a,b]=[1,2]; console.log(a,b);//1 2

    …rest数组解构赋值

    let a,b,rest; [a,b,...rest]=[1,2,3,4,5,6]; console.log(a,b,rest);//1 2 (4) [3, 4, 5, 6]

    对象解构赋值

    let a,b; ({a,b}={a:1,b:2}); console.log(a,b);//1 2

    解构赋值中的默认值,防止没有配对成功中的undefined

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

    解构赋值用于变量交换

    let b=2; [a,b]=[b,a]; console.log(a,b);//2 1 function f(){ return [1,2] } let a,b; [a,b]=f(); console.log(a,b);//1 2

    返回多个值时选择性的接收其中的值

    function f(){ return [1,2,3,4,5] } let a,b,c; [a,,,b]=f(); console.log(a,b);//1 4

    …用于不确定数组返回的长度为多少,把第一个元素取出,其他的返回一个数组

    function f(){ return [1,2,3,4,5] } let a,b,c; [a,,...b]=f(); console.log(a,b);//1 (3) [3, 4, 5]

    对象解构赋值按照key:value去匹配

    let o={p:42,q:true}; let {p,q}=o; console.log(p,q);//42 true

    对象解构赋值使用默认值

    let {a=10,b=5}={a:3} console.log(a,b);//3 5

    嵌套对象使用

    let metaDate={ title:'abc', test:[{ title:'test', desc:'description' }] } let {title:esTitle,test:[{title:cnTitle}]}=metaDate; console.log(esTitle,cnTitle);//abc test //1 4abc test
    最新回复(0)