let
- let不能在同一作用域内重复声明变量
let a = 10;
let a = 100;
//Uncaught SyntaxError: Identifier 'a' has already been declared
var a = 10;
var a = 100;
a //100
- let声明的变量属于块级作用域
{
let a = 10;
var b = 100;
}
a //a is not defined
b //undefined
- let声明的变量不存在变量提升
console.log(a); //报错
console.log(b); //10
let a = 10;
var b = 10;
const
- const声明常量,声明时一定要赋初值
const A; //Missing initializer in const declaration
const A = 10;
- const声明的常量不能修改
const A = 10;
A = 100; //Assignment to constant variable.
- const声明的变量属于块级作用域
{
const A = 10;
}
A //A is not defined