zoukankan      html  css  js  c++  java
  • ES6的解构赋值

    通常在与后端进行接口对调的时候,后端往往会返回一大堆的数据,以前我们往往会这么做:

        var obj = {
            name: 'name',
            age: '20'
        };
        var name = obj.name;
        var age = obj.age;

    以这样的形式来去取出需要的数据,但是如果在数据量非常多的情况下,这样的话,代码量就特别多了,而在ES6里面的解构赋值,取值就变得方便了很多。

        var obj = {
            name: 'name',
            age: '20'
        };
        var {name} = obj;
        console.log(name);

    如何在声明变量之后再去进行解构赋值呢?

    var obj = {
        name: 'name',
        age: '20'
    };
    var name = '';
    ({name} = obj);
    console.log(name);

    这里一定要将解构的区域用括号包裹起来,表示这里是一个完整区域。

    如何将数据解构之后将Key值进行重命名呢?

    var obj = {
        name: 'kimo',
        age: '20'
    };
    var {name : str} = obj;
    console.log(str);

    这里是将name的名字修改为了str。

    解构赋值如何进行默认值的设置呢?

    var obj = {
        name: 'kimo',
        age: '20'
    };
    var {c} = obj;
    console.log(c);

    由于c在obj中是不存在的,所以肯定会报未定义。

    var obj = {
        name: 'kimo',
        age: '20'
    };
    var {c = 100} = obj;
    console.log(c);

    这里设置为c=100,就是当这个值不存在的时候就会显示100,如果里面有值,则以原始值为准,默认值不生效。

    默认值也可配合重命名的方式来进行使用。

    var obj = {
        name: 'kimo',
        age: '20'
    };
    var {gender: g ="男"} = obj;
    console.log(g); //

    如何对数组进行解构赋值呢?

        var arr = '我是数组'.split('');
        console.log(arr)
        var [a,b,,c] = arr; //按照数据的顺序进行解构,如果不想输出当前值,就直接写,
        console.log(a,b,c); //我是组
  • 相关阅读:
    java笔试面试题目收集(一)
    java--用 * 打印出各种图形(新手请进)
    TextView属性大赏
    Meterial Or Ios ?
    android开发之后端云bmob的使用
    关于android开发自定义view
    第二周作业——面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?
    移动APP开发使用什么样的原型设计工具比较合适?
    测试
    转:nohup命令及其输出文件
  • 原文地址:https://www.cnblogs.com/qiuchuanji/p/9665467.html
Copyright © 2011-2022 走看看