ES6——解构赋值

2018-06-15  本文已影响0人  向上而活

从数组或者对象中提取出数据,并分别赋值给多个变量。

结构数组时,等号左边用数组的方式接收;

结构对象时,等号左边用对象的形式接收;

等号左边[]与{}中的变量,相当于在全局中定义的变量;

解构赋值,在ajax数据交互中非常有用。用法参看以下例子:

let [a,b,c]=[1,2,3];//等号左右两边,解构要保持一致

console.log(a,b,c);//输出1 2 3


let [d,e,f]=[1,[2,3]];

console.log(d,e,f);//输出1 [2, 3] undefined


let [g,[h,i]]=[1,[2,3]];

console.log(g,h,i);//输出 1 2 3


let json={

name:'qqqq',

age:'12',

job:'web'

};

let {name,age,job}=json;

console.log(name,age,job);//输出qqqq 12 web


也可以给每一项重新起名字,效果一样(可用于数据交互时,前后字段名不一致时,更改字段名):

let {name:n,age:a,job:j}=json;

console.log(n,a,j);//输出qqqq 12 web


解构封装的函数:

function box(){

    return{

        a:111,

        b:222

    }

}

let {a,b}=box();

console.log(a,b);//输出 111 222


函数传参:

function box({a,b}){

console.log(a,b);//输出1 2

}

box({a:1,b:2});


解构时可以给默认值:

let [a,b,c=’默认值’]=[‘aaa’,’bbb’];


两个变量互换值:

let a=1;

let b=2;

[a,b]=[b,a]

console.log(a,b);//输出2 1

上一篇 下一篇

猜你喜欢

热点阅读