解构赋值

通过解构赋值,可以快速从对象或者数组中取出属性或者数值。

  1. 解构赋值

    可以通过定位到数组或者对象的某一个位置,将值直接赋给一个或多个变量。

    const arr = ['dasha', 'ersha', 'gangdan']
    let [a, b, c] = arr //a='dasha' b='ersha' c='gangdan'
    //假如需要交换ab的值 只需要
    [a, b] = [b, a]
  2. 解构赋值嵌套

    复杂的对象或者数组也可以使用这种方法。

    const arr = [1, [2,3,4], 5]
    let [a, [b,,d], c] = arr console.log(a) // 1
    console.log(b) // 2
    console.log(d) // 4
  3. 解构赋值的默认值

    给变量先设置好默认值,当数组或者对象中无法找到匹配的值,则将默认值赋给变量。

    let [a=1] = [100] // a=100
    let [b=1] = [] // b=1
  4. 解构赋值用在对象上时候,需要用键的方式

    const obj = {
    name:'shabi',
    age:12,
    }
    let{age} = obj // 为了防止age在上面被let定义过了,可以将age改名为ag
    let{age:ag, err="定义err默认值即使对象中没有这个属性,也可以获取到这个默认值字符串"} = obj
    console.log(err)// '定义err默认值即使对象中没有这个属性,也可以获取到这个默认值字符串'
  5. 解析一个从函数返回的数组

    获取返回值进行解构赋值,更加方便

    function test(){
    return [1,2,3]
    }
    let [x,y] = test()
    console.log(x) //x = 1
    console.log(y) //y = 2
  6. rest写法:将剩下的所有值赋值给一个变量

    这种写法只能适用于用在最后一位,无法用在开头或者中间,否则会报错。

    let [a,...rest] = [1, 2, 3];
    console.log(a); // 1
    console.log(rest); // [2, 3]

最新文章

  1. CodeForces 519B A and B and Compilation Errors
  2. ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况
  3. 给大家推荐PYTHON网站
  4. icePDF去水印方法
  5. ASP.NET MVC分页实现
  6. 反射中 GetCustomAttributes
  7. Mapnik 教程
  8. centos 如何用 rsyslog 搭建本地日志服务(续1: omprog模块与php deamon的配合使用)
  9. 尚未解决的intellij问题:补充措施
  10. 移动端网站或APP点击后出现闪动或灰色背景
  11. Python网页爬虫(一)
  12. 使用mex进行混合编程的一些注意事项
  13. NlpirParser智能挖掘平台词性标注新算法
  14. Netty ByteBuf梳理
  15. ES 19 - Elasticsearch的检索语法(_search API的使用)
  16. 20155205 郝博雅 Exp5 MSF基础应用
  17. mybatis是如何防止SQL注入的
  18. elasticsearch配置文件详解
  19. html固定宽度下拉框内容显示不全问题解决方法
  20. linux 查看文件夹下的文件个数(当前目录的文件数)//包含子目录

热门文章

  1. plsql链接oracle
  2. Python+Django(4)——创建其他网页(模板继承)
  3. pg_dump导出表时正则匹配多个表,pg_dump导出表
  4. Cookie会话跟踪技术
  5. linux-minicom
  6. 含字母数字的字符串排序算法,仿Windows文件名排序算法
  7. 记录一次HAWQ手工启动
  8. ZooKeeper启动报错,未成功开启服务
  9. MYSQL DUAL(伪表)
  10. NX二次开发获取NX主程序路径