在ES6中声明变量let和const
let声明的变量不存在预解析
console.log(flag);
var flag=123;
此时代码无法输出,因为在进入第一行代码时无法检测到flag这个变量
let声明的变量的不允许重复(在同一作用域内)
let flag=123;
let flag=456;
console.log(flag);
//输出为 Identifier 'flag' has already been declared
ES6引入了块级作用域
if(true){
let flag=30;
}
console.log(flag);
//此时是访问不到的
注意: 在块级作用域中, 变量只能先声明在使用
const 常量
const 用来声明常量,const声明的常量不允许重新赋值
const n=10;
n=2;
console.log(n);
//Missing initializer in const declaration
const声明的常量必须初始化