ES6学习笔记-let

let变量声明

  • let是什么
  • let与var的区别
    • 1.变量不能重复声明
    • 2.块级作用域
    • 3.不存在变量提升

let是什么

let时es6新增的关键字,用来声明变量

let与var的区别

1.变量不能重复声明

使用var可以重复声明变量并且后面声明的变量会覆盖之前的,但是使用let之后便不可以,若重复声明便会直接报错。这样很好的保证了我们代码中变量的纯净,不会被污染
// 报错 Identifier 'star' has already been declared
    let star = 1
    let star = 2
    // 不报错
    var me = 2
    var me = 4
    console.log(me);

2.块级作用域

使用let声明的变量只能在当前代码块中使用,但是使用var声明的变量全局均可使用
{
      let girl = '哈哈哈'
      var boy = 'llll'
    }
    console.log(girl); // 报错 girl is not defined
    console.log(boy); // 输出 1111

3.不存在变量提升

js变量提升:JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
使用var声明的变量会被提升,浏览器会在执行所有代码之前先将var定义的变量提取出来,所以就可以在定义之前去使用,但是let不行
console.log(song); // undefined
console.log(sun); // 报错 Cannot access 'sun' before initialization
    var song = '恋爱达人'
    let sun = '太阳'

你可能感兴趣的:(ES6学习笔记,es6)