-
let 不存在变量提升
console.log(a);
var a = 10;console.log(a); ////Cannot access 'a' before initialization let a = 10; 2. 暂时性死区 if (true) { tmp = "fdsa"; let tmp; } 3.不允许重复声明 var a = 1; var a = 10; console.log(a); let a = 10; let a = 10; //Identifier 'a' has already been declare function fun(a) { let a; //Identifier 'a' has already been declare } fun(); 4 块级作用域 let n = 5; if (true) { let n = 10; console.log("n1:", n); //10 } console.log("n:", n); //5 var a = 5; if (true) { var a = 10; console.log("a1:", a); //10 } console.log("a:", a); //10 const 常量 const一旦声明变量,就必须立即初始化,不能留到以后赋值 const a = 10; const a = 10; a = 20; const obj = {}; obj.a = 10; console.log("obj:", obj); let a = Symbol("id"); let b = Symbol("id"); console.log(a == b);