sunny-cheng  

ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。

let 声明的变量只在 let 命令所在的代码块内有效。

const 声明一个只读的常量,一旦声明,常量的值就不能改变。

ES5中var 命令一些问题

1.变量提升

console.log(a);
// 全局变量没有定义a时
// 报错 ReferenceError: a is not defined

console.log(a);
var a = 2;

//undefined  
// 当定义了 a变量时,返回的是undefined

2.var定义的变量,可以覆盖

var b = 3;
var b = 4;
console.log(b);
  // 4

ES6中let 命令

1.不能重复声明变量
        let a = 1;
        let a = 3;
        console.log(a);
            //// Identifier 'a' has already been declared
2.块级作用域
    if(1===1){
       let b = 10; 
      console.log(b)  //10
    }
       console.log(b)  // ReferenceError: b is not defined      

ES6中const 命令

1.const 声明一个只读变量,声明之后不允许改变。
    const PI = "3.1415926";
    console.log(PI)
        //3.1415926

  

    const PI = "6";
    console.log(PI)

      // Identifier 'a' has already been declared

注意要点:

  const 变量指向的是内存地址,所保存的数据不允许改动,如果const定义的是可变数据类型,那么

他是可变的

 

 

posted on 2020-05-28 20:56  sunny-cheng  阅读(129)  评论(0编辑  收藏  举报