let
在es5的语法中我们用 var来定义变量 但是用var来声明会出现一些问题。
var 会存在变量提升的情况。
console.log(a);//undefind
var a = 12;
这种情况不会报错 而是打印undefined。
在ES6中 let和var的用法差不多。
1.let就不会有变量提升。
console.log(a);//报错
let a = 12;
2.let 是一快作用域。
if (1 === 1) {
var a = 12
}
console.log(a);//12
if (1 === 1) {
let a = 12
}
console.log(a);//报错
3.let不能重复声明
var a = 1;
var a = 3;
console.log(a);//3
let a = 1;
let a = 3;
console.log(a);//error
const
const 用法和let相同,但是const是用来定义常量的。在常量声明之后值不能改变。
const max = 30;
max = 40;
console.log(max);//报错