用来声明变量,但是所声明的变量只在let
命令所在的代码块内有效
{
let a=12
alert(a)//12
}
alert(a)//报错 找不到
let不像var那样会发生变量提升,所以一定要先声明后使用。
console.log(foo); //undefined
console.log(bar); //报错
var foo = 2;
let bar = 3;
let不允许在相同作用域内重复声明同一个变量。
let a=12;
let a=5;//报错
console.log(a)
const
同样可以创建块作用域变量,同样只在声明所在的块级作用域中有效。但其值是固定的,不可更改,只读。
{
const a=12;
alert(a);//12
}
alert(a)//报错
一旦声明变量,就必须立即初始化,不能留到以后赋值。
//只声明不赋值就会报错
const foo; //报错
const和let一样没有变量提升,同样不能重复声明。
原文:http://www.cnblogs.com/Coding--Peasant/p/7143163.html