ES6的let和const命令(一)

ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变

量,只在let命令所在的代码块内有效。

let  a=3;

let声明的变量只在它所在的代码块有效。

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

   var arr=[1,2,3,4,5];

for (let i=0;i<arr.length;i++){}

console.log(i);

运行结果:

006zipb5zy7aOxsEFnK44&690

程序报错。上面代码的计数器i是由let声明的,只在for循环体内有效。

如果i是由var声明的

var arr=[1,2,3,4,5];

 for (var i=0;i<arr.length;i++){}

console.log(i);

最后输出的结果是:5

let声明变量的特性有以下几点:

1.不提升变量

先来看一组变量的声明

       console.log(a);

    console.log(b);

    var a=2;

    let b=2;

同样的2个未定义就使用的变量,但结果取不一样

006zipb5zy7aOxxbZbic8&690 

因为变量a用var命令声明,会发生变量提升,即脚本开始运行时,变量a已经存在了,但是没有值,所以会输出undefined。变量b用let命令声明,不会发生变量提升。这表示在声明它之前,变量b是不存在的,这时如果用到它,就会抛出一个错误。

转载于:https://my.oschina.net/u/2971691/blog/892535

原文地址:https://www.cnblogs.com/twodog/p/12140621.html