zoukankan      html  css  js  c++  java
  • ES6 (2):解构赋值

    对于解构赋值个人感觉需要理解左查询与右查询的区别,然后对解构赋值的理解才会更深一些。

    解构赋值:对数组和对象中的值提取,赋值到声明的变量中。

    模式匹配:模式相同,或者说样子一样

    如果不成功,变量值为undefined,等号右边不是数组(不是可遍历,因为模式是数组)会报错

    允许指定默认值:

    左右匹配使用的是严格相等运算符(严格等于undefined,如果为“”,null 是不可以的)

    默认值可以使用已经赋值的变量。

     对象:

    跟数组对象差不多,只不过是指定变量名需在对象中查询到,用在对象赋值上非常有用。

    另外可以使用变量名别名(前别名,后真名):

    嵌套:

     指定默认值:

     

    对于已经声明的变量,最好使用括号(发现不使用的时候现在可以)

     

    数组对象赋值:

     解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。由于undefinednull无法转为对象,所以对它们进行解构赋值,都会报错。

    函数的解构赋值:

    函数默认值:(默认值在等号左边,默认值使用 “=” 而不是“:”

    为参数声明默认值(不是解构赋值a,b)

     

    函数返回多个值:

    函数参数默认值:(引用自阮大神)

    jQuery.ajax = function (url, {
      async = true,
      beforeSend = function () {},
      cache = true,
      complete = function () {},
      crossDomain = false,
      global = true,
      // ... more config
    } = {}) {
      // ... do stuff
    };
    

    遍历map:

    const map = new Map();
    map.set('first', 'hello');
    map.set('second', 'world');
    
    for (let [key, value] of map) {
      console.log(key + " is " + value);
    }
    
    成灰之前,抓紧时间做点事!!
  • 相关阅读:
    Android 图片文字单位 px、dp、sp区别
    替换Fragment 报错 The specified child already has a parent. You must call removeView() on the child's parent first.
    Android 程序怎么打log
    Android 启动项 Activity
    Actiivity 生命周期
    Oracle 监听/数据库 启动/关闭
    【HDU-2049】不容易系列之(4)——考新郎
    Linux内存子系统——Locking Pages(内存锁定)
    command三国杀开发日记20200915
    command三国杀开发日记20200914
  • 原文地址:https://www.cnblogs.com/jony-it/p/10931033.html
Copyright © 2011-2022 走看看