ES6之let和const

1、在ES5中我们定义一个变量是通过 var 关键字来定义的。如:var name = 'zjl'    var obj = {name:'zjl',age:'18'}  

2、在ES6中新引进了两个定义变量的关键字 let 和 const。

3、ES6之 let:

let 的用法和 var 很类似,但它存在自己的特性 主要有以下几点:

  • let 所声明的变量,只在 let 命令所在的代码块内有效
{
  let a = 10;
  var b = 1;  
}
console.log(a,b);

以上的打印会报错:ReferenceError: a is not defined   显示 a 未定义

  • 不存在变量提升
console.log(bar); // 报错ReferenceError
let bar = 2;
  • 暂时性死区:在代码块内,使用let命令声明变量之前,该变量都是不可用的
var tmp = 123;
if (true) {
tmp = 'abc'; // ReferenceError
let tmp;
} 
  • 不允许重复声明
function test() {
    let a = 10; 
    let a = 1; 
}
test()
// 会报错

4、ES6之const关键字,与let相比多了以下两个特性(与let相同的特性这里不再赘述)

  • 变量一旦声明就必须赋值  const a; //会报错
  • const声明一个变量是只读的,不能对他进行修改  const a=1;  a=2; //会报错

 

posted @ 2019-08-26 23:24 zjl_712 阅读(...) 评论(...) 编辑 收藏