JavaScriptSE6 let和const命令

let和const命令

let的用法

let的基本用法

  • let可以说是更完美的var声明,let的声明只在代码块内有效。
        {
            var a=1;
            let b=2;
        }
        console.log(a);
        console.log(b);//ReferenceError 

let不存在变量提升

  • var命令会发生‘变量提升’现象,就是变量可以在声明之前使用,值为undefined。let不允许变量提升,会直接报错
        console.log(he);//undefined
        var he="123";
        console.log(hehe);//ReferenceError
        let hehe="123";

let会暂时性死区

  • 只要let存在的块级作用域,所声明的变量就绑定在这个区域,不再受外部影响。
        var he=123;
        {
            console.log(he);//ReferenceError
            let he=123;
        }

let不允许重复声明

  • let不允许在相同作用域内,重复声明同一个变量。
  • ES6为了改变这一点,一方面规定,为了保持兼容性,var命令和function命令声明的全局变量,依旧是顶层对象的属性;另一方面规定,let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性。也就是说,从ES6开始,全局变量将逐步与顶层对象的属性脱钩。

const命令

  • const声明一个只读的常量。一旦声明,常量的值就不能改变,和let一样不允许变量提升。

你可能感兴趣的:(JavaScript)