zoukankan      html  css  js  c++  java
  • 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数据交互的时候特别有用

    有志者事竟成,破釜沉舟,百二秦关终属楚;  苦心人天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    【JavaScript DOM 编程艺术】 笔记
    如何循序渐进有效学习 JavaScript?
    如何正确学习JavaScript
    HTML5学习
    window上杀死node进程
    HTML5:离线存储
    js面向对象的理解
    H5项目常见问题及注意事项
    查找已连接过的wifi密码
    flex的兼容
  • 原文地址:https://www.cnblogs.com/manIteresting/p/10273973.html
Copyright © 2011-2022 走看看