• ES6特性


    ES6特性:

      let, const, class, extends, super, arrow functions, template string, destructuring, default, rest arguments。。。

    一、let, const

    这两个的用途与var类似,都是用来声明变量的,但在实际运用中他俩都有各自的特殊用途。
    首先来看下面这个例子:

    传统var写法:

    ES6写法let实际上为JavaScript新增了块级作用域。用它所声明的变量,只在let命令所在的代码块内有效。

     

    浏览器返回:

     二、class, extends, super,ES6使用传统语言的写法,更通俗易懂:

    三、arrow function(*

    四、template string

    这个更加常用,而且很有用,就是每次要写动态添加html就要写很多个加号,很不方便,ES6解决此问题。

    传统写法:

    ES6写法:

    注意:用反引号()来标识起始,用${}`来引用变量,而且所有的空格和缩进都会被保留在输出之中

    五、destructuring

    ES6写法:

    六、default, rest

    七、Set和Map数据结构:

    Set遍历方法:set.key()

    set.values()

    set.entries()

    1、Set例子:

    var s = new Set();

    var arr = [1,1,2,3,6,8,8,9,10];

    arr.map( x => s.add(x) );

    for (i of s) {

      console.log(i);

    }

    打开结果:通过add,Set结构不会添加重复的值

    PS:Set对存入数据 1和'1',是不识别,需求用 "===" .

    2、Map:

    1、Map结构的目的和基本用法:
      JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是只能用字符串当作键。这给它的使用带来了很大的限制。

    2、例子:

    var map = new Map([["name", "张三"], ["title", "Author"]]);

    for (let item of map.entries()) {
      console.log(item[0], item[1]);
    }

    3、Let:

    *区别:

    1、let和var只在循环是,有不同点;

    2、var 声明的变量作用域不是块级的,会扩大变量的作用域,可能造成不必要的 shadow(变量覆盖),通常情况下都不是想要的结果;

    let 声明的变量作用域就更精确,离开作用域变量就销毁。

  • 相关阅读:
    [最短路-Floyd][并查集]SSL P2344 刻录光盘
    [并查集][bfs]JZOJ P3973 黑白数
    [容斥原理][dp]JZOJ P3056 数字
    [归并排序][枚举]JZOJ P3967 Counting Friends
    [二分][贪心]JZOJ P3996 Sabotage
    [最短路-Floyd][数学]Luogu P1552 牛的旅行
    [序列dp]Luogu P1415 拆分数列
    [多项式求逆]JZOJ 3303 城市规划
    [树链剖分]JZOJ 2677 树A
    [费用流]luogu P3159 交换棋子
  • 原文地址:https://www.cnblogs.com/babyfacer/p/5168618.html
Copyright © 2020-2023  润新知