zoukankan      html  css  js  c++  java
  • ES6新增的解构

    所谓解构就是解构聚合数据

      在ES5中的聚合数据有:对象、数组

        在之前,对象中获取数据的方式只能通过点语法或中括号语法

            数组中获取数据的方式只能通过中括号语法

      在ES6中简化了获取数据的方式,提供了解构语法:对象解构数组解构

    对象解构

      语法:let { key1, key2, ...keys } = obj;

        key1相当于 obj.key1 

        key2相当于 obj.key2

        keys获取的是剩余的属性,如果没有剩余的属性,获取到的就是一个空对象

        

      注意: 解构出来的属性、变量一定是和对象中的属性是同名的

        解构问题:

           1 如果使用var解构,会污染全局对象(window),我们可以使用let关键字解决

           2 解构出来的方法,方法中的this将发生变化

           3 对于引用类型来说,只是指向的改变,而对于值类型来说,是真正的复制

      逆运用:我们可以通过三个点语法,将一个对象中的所有数据传递给一个对象字面量中:let obj =  { ...keys }

          

    数组解构

      语法:  let [item1, item2, ...items] = arr;

        item1表示第一个成员

        item2表示第二个成员

        items表示剩余的成员,

        

      注意:如果使用var解构,也会污染全局对象(window),我们可以通过let关键字解决

      获取剩余成员的语法:

        1如果数组有剩余的成员,获取到的是数组中所有的剩余成员

        2 如果没有剩余的成员,获取到的是一个空数组

        3 前面解构的变量,可以正常使用

      逆运用:我们可以通过三个点语法,将一个数组中的所有数据传递到一个数组字面量中,let item = [ ...arr ] (复制数组)

          

    解构总结

      解构指的是等号左侧的部分

      逆运用是等号右侧的部分

         例如,复制数据

      解构:对象解构,属性名称匹配

      数组解构,位置对应

  • 相关阅读:
    用NHibernate创建数据库时出现的问题
    Conceptual Overview (.NET 5概念描述)
    网页前端开发,对于图片慢加载简介
    opencv实现人脸识别(五) 运用tkinter进行GUI绘制 整合人脸识别模块
    opencv实现人脸识别(四) 人脸识别模块
    opencv实现人脸识别(三) 训练图片模块
    opencv实现人脸识别(二) 人脸图像采集模块
    opencv实现人脸识别(一)opencv的相关知识了解
    python实现文件搜索工具(简易版)
    expect实现非交互
  • 原文地址:https://www.cnblogs.com/yess/p/14701486.html
Copyright © 2011-2022 走看看