zoukankan      html  css  js  c++  java
  • 前端笔记(二)

    解构:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值。

    对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由他的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

    变量解构赋值的用途:交换变量的值,从函数返回多个值,函数参数的定义,提取JSON数据,函数参数的默认值,遍历map解构,输入模块的指定方法。

    ES5中的数据结构,主要是用Array和Object。在ES6中主要新增了set和map数据结构。

    能使用map的优先使用,不使用数组,考虑数据的唯一性,考虑使用set,不使用object。

    Symbol:功能类似于一种标识唯一性的ID。通常情况下,我们可以通过调用symbol()函数来创建一个Symbol实例。每个symbol实例都是唯一的。当你比较两个Symbol实例的时候,将会返回false。

    Symbol的用途:使用symbol来作为对象属性名,使用symbol来定义常量,使用symbol来定义类的私有属性和方法。

    注册和获取全局Symbol

    通常情况下,我们在一个浏览器窗口中,使用symbol()函数定义和Symbol实例就足够了。但是,如果你的应用涉及到多个window(最典型的就是页面中使用iframe),并需要这些window中使用的某些Symbol是同一个,那就不能使用Symbol()函数了,因为用它在不同window中创建的Symbol实例总是唯一的,而我们需要的是在所有这些window环境下保持一个共享的Symbol。这种情况下,我们就需要使用另一个API来创建或获取Symbol,那就是symbol.for(),它可以注册或获取一个window间全局的Symbol实例;

    参考网址:https://www.jianshu.com/p/f40a77bbd74e

    去除数组的重复成员:[...new Set(array)]

    去除字符串里面的重复字符:[...new Set('ababbc')].join('')

    Array.from可以将set结构转为数组:const items = new Set([1, 2, 3, 4, 5]); const array = Array.from(items);

    这就提供了去除数组重复成员的另一种方法。  function dedupe(array) {   return Array.from(new Set(array)); }  dedupe([1, 1, 2, 3]) // [1, 2, 3]

    Set.prototype.keys():返回键名的遍历器

    Set.prototype.values():返回键值的遍历器

    Set.prototype.entries():返回键值对的遍历器

    Set.prototype.forEach():使用回调函数遍历每个成员

    对象的扩展运算符:用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中。

    如果扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。

    扩展运算符还可以将字符串转为真正的数组,

    [...'hello'] // [ "h", "e", "l", "l", "o" ]

    任何Iterator接口的对象,都可以用扩展运算符转为真正的数组。

    扩展运算符(spread)是三个点(…)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。

    扩展运算符的应用:

    1:合并数组2:与解构赋值结合使用

  • 相关阅读:
    代码注释技术
    疑难杂症错误解决方法大全
    MD5 加密
    ADO.NET DataReader和DataAdapter的区别
    HTTP协议详解
    web开发常用样式
    Stream 和 byte[] 之间的转换
    Sql 函数大全 (更新中...由难到简
    Web C# 导出Excel 方法总结
    VC++ MFC 如何实现在编辑框中输出具有换行功能的文段 01
  • 原文地址:https://www.cnblogs.com/pengxiangchong/p/11635521.html
Copyright © 2011-2022 走看看