zoukankan      html  css  js  c++  java
  • ES6

     一、let命令

    1.具体操作

    用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

    上面代码在代码块之中,分别用letvar声明了两个变量。然后在代码块之外调用这两个变量,结果let声明的变量报错

    var声明的变量返回了正确的值。这表明,let声明的变量只在它所在的代码块有效。

    for循环的计数器,就很合适使用let命令。

    计数器i只在for循环体内有效,在循环体外引用就会报错。

    结果如下:

    下面的代码如果使用var,最后输出的是10

     

    结果如下:

    如果使用let,申明的变量在块级作用域内有效,结果为6,原因是量ilet声明的,当前的i只在本轮循环有效,所以每一次循环的i其实都是一个新的变量,

    所以最后输出的是6

    2.不存在变量提升

    var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

    为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

    二、变量的解构

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

    假如用let申明a,b,c,d四个变量,其中d为列表。本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值

    示例一
    
     let [a,b,c,[d]] = [89,90,99,100];
            console.log(a);
            console.log(c);
            console.log(d);

    执行结果会报错,如下:

    报错原因:没有解构成功,如果等号的右边不是数组(或者严格地说,不是可遍历的结构),那么将会报错。

    三、函数的扩展

    四、数组的扩展

    1)判断数组当中是否存在某个数值

    console.log(arr.indexOf(1000))
            console.log(arr.includes(201))
    

    2)对数组的遍历

    arr.forEach(function (value,index) {
                console.log(value);
            })
    
            var arr2 = arr.map(function (value,index) {
                return value+1
            })
    

    3)对数组的过滤  

     var arr4 = arr.filter(function (value,index) {
                return value > 50
            })
            console.log(arr4);  

    五、对象的扩展

    (1)对象当中的属性可以简写

    (2)对象当中的方法可以简写

  • 相关阅读:
    css3与gpu加速
    前端集成解决方案小结
    body内html标签的选用
    在win8下快速搭建angularjs测试环境以及可能遇到的问题
    javascript快速排序
    Sublime Text2配置python环境
    python学习第一天
    开机自检
    各种排序算法及c语言实现
    算法表示
  • 原文地址:https://www.cnblogs.com/moning/p/8361872.html
Copyright © 2011-2022 走看看