es6日常经常用到的知识点(var,let,const, set, Array.from())——总结1

原创 minsong 随笔 es6 787阅读 2018-05-02 16:34:54 举报

1.变量声明——var,const,let

1.1 var——(全局作用域,局部作用域)会有变量提升
1.2 const——常用来声明常量,且常量不可修改,必须初始化,存在着块级作用域。
1.3 let——let定义的变量存在着块级作用域,在函数内定义的变量,对函数外部无影响。

2.set

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

2.1 可以对数组进行去重操作。
2.2 set实例的属性和方法
1.属性
    Set.prototype.constructor:构造函数,默认就是Set函数。
    Set.prototype.size:返回Set实例的成员总数。
2.Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。
    下面先介绍四个操作方法:
        add(value):添加某个值,返回 Set 结构本身。
        delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
        has(value):返回一个布尔值,表示该值是否为Set的成员。
        clear():清除所有成员,没有返回值。
    Set 结构的实例有四个遍历方法,可以用于遍历成员。
        keys():返回键名的遍历器
        values():返回键值的遍历器
        entries():返回键值对的遍历器
        forEach():使用回调函数遍历每个成员

keys方法、values方法、entries方法返回的都是遍历器对象。由于 Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys方法和values方法的行为完全一致。

3. Array.from()方法

Array.from方法用于将两类对象转为真正的数组:(类数组)类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。

会发现结果是长度为4,元素均为undefined的数组
  由此可见,要将一个类数组对象转换为一个真正的数组,必须具备以下条件:
  1、该类数组对象必须具有length属性,用于指定数组的长度。如果没有length属性,那么转换后的数组是一个空数组。
  2、该类数组对象的属性名必须为数值型或字符串型的数字
  ps: 该类数组对象的属性名可以加引号,也可以不加引号

评论 ( 1 )
最新评论
zxsclq 2018-08-02 10:46:41 1F

过了一遍,熟悉一下