ES6-let & const

let和const命令

let

  • 它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
    for(let i = 0; i < arr.length; i++){}
  • 用let命令声明,不会发生变量提升。
console.log(foo); // error
let foo = 1;
  • 暂时性死区。
var tmp = 123;

if (true) {
  tmp = 'abc'; // ReferenceError
  let tmp;
}
  • 不允许重复声明。在相同作用域内重复用let声明同一个变量会报错。
function () {
    let a = 10;
    let a = 1; // error
}
  • 块级作用域
console.log(tmp); // error
if (false) {
    var tmp = "hello world";
}

const

  • 声明一个只读的常量。一旦声明,常量的值就不能改变。
const PI = 3.1415;
PI = 3; // 常规模式时,重新赋值无效,但不报错
PI // 3.1415
  • const一旦声明变量,就必须立即初始化,不能留到以后赋值。
const foo; // error
  • 其它特性同let
posted @ 2016-06-23 10:22  DDFE  阅读(143)  评论(0编辑  收藏  举报