1、let 和const有块级作用域,也就是
{
let i = 1;
}
console.log(i)//i is not defined
{
const s = 1;
}
console.log(s)//s is not defined
{
var v = 1;
}
console.log(v)//1
2、var 存在变量提升 let和const不存在变量提升
console.log(v)//undefined
var v = 1;
console.log(v)//1
console.log(L)//L is not defined
let L = 1;
console.log(c)//s is not defined
const c = 1;
3.const 定义时就要赋值,let 和 var 可以先不赋值
let L;
var v;
const s;//Missing initializer in const declaration
4 、var 可以重复声明 , let 和 const 不能重复声明
var v = 111
var v =222
let L =333
let L = 444//Identifier 'L' has already been declared
const C = 555
const C = 666Identifier 'C' has already been declared