es6整理

时间:2020-11-27 17:05:33

1、const和let

  • let类似于var,不同的是let只在所在的代码段有效
  • for循环的计数器,就很合适使用let命令。
  • let和var的区别:
    //变量i是var声明的,在全局范围内都有效。所以每一次循环,新的i值都会覆盖旧值,导致最后输出的是最后一轮的i的值。
    var a = [];
    for (var i = 0; i < 10; i++) {
    a[i] = function () {
    console.log(i);
    };
    }
    a[6](); // //变量i是let声明的,当前的i只在本轮循环有效,所以每一次循环的i其实都是一个新的变量,所以最后输出的是6。
    var a = [];
    for (let i = 0; i < 10; i++) {
    a[i] = function () {
    console.log(i);
    };
    }
    a[6](); //

    另外,let“不存在变量提升”、“暂时性死区”(使用let命令声明变量之前,该变量都是不可用的)、“不允许在相同作用域内,重复声明同一个变量。”