es6之解构赋值

 

要交换两个数的值怎么办呢?

let a=1

let b=2

c=a

a=b

b=c

可以吗,当然可以

但是在es6中有了更好的解决方法

[a,b]=[b,a]

ok,可以了是不是和方便这就是解构赋值,这个是非常重要的特别是在做数据交互的时候

如果要定义3个4个5个变量的怎么办是不是就是 let a=  let b=...

但是我们也可以这样完成

let [a,b,c]=[3,4,5]
let [a,[b,c]] =[12,[5, 6]];
//注意: 左右两边,结构格式要保持一致

 let {name,age, job} = { name:'xiaoming', age:18, job:'码畜' }; 

let json={ name:'xiaoming', age:18, job:'码畜' };

 let {name,age, job}=json

但我们打印name当然就是xiaoming,是不是很方便呢,当然我们也可以起别名

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

 还可以有默认值

 let [a, b,c='暂无数据'] = ['aa','bb'];

  可以使任何数据类型

 let [a, b,c] = ['aa','bb',null];

  来一个实际应用吧

 先来一个函数

function myfun(){
    //to do
   return {
     left:10,
     top:20    
  }  
}
let {left,top:t}=myfun;

  多好!

function show({a,b='默认'}){
            console.log(a, b);
        }

        show({
            a:1
        })
function show({a='默认1',b='默认'}){
console.log(a, b);
}
show({})

  ok,这就是解构赋值,其实在做ajax数据交互的时候特别有用

有志者事竟成,破釜沉舟,百二秦关终属楚;  苦心人天不负,卧薪尝胆,三千越甲可吞吴。
原文地址:https://www.cnblogs.com/manIteresting/p/10273973.html