基本用法
用来声明变量,类似于var,但是所声明的变量只能在let命令所在的代码块内有效。
{
let a =10;
var b = 10;
}
console.log(a);// a is not defined
console.log(b);//10
上述结果,表明let声明的变量只在它所在的代码块有效。
**不存在变量提升**
var 命令会发生“变量提升”现象,也就是变量可以在声明之前使用,值为undefined。这种现象多多少少还是有点奇怪的。let命令改变了语法行为,它所在声明的变量一定要在声明后使用,否则报错。
**暂时性死区**
只要在块级作用域内存在let命令,它所声明的变量就绑定这个区域,不再受外部的影响。
**不允许重复声明**
let不允许在相同作用域内,重复声明同一个变量。
const命令
基本用法
const声明一个只读的常量。一旦声明,常数的值就不能改变;
consi PI = 3.1415;
PI //3.1415
PI=3;
// TypeError: Assignment to constant variable.
const 声明的变量不得改变值,声明的时候就必须立即初始化,不能留到以后赋值。
const的作用域与let命令相同:只在声明所在的块级作用域内有效。
const声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。
const声明的常量,与let一样不可重复声明。