var是干嘛用的我就不多说了。下面我说说在我个人理解中,var的缺点
缺点1:可以重复声明 (在像java这些语言中,是不允许重复声明变量的)
var a = 10;
var a = 100;
consolt.log(a); //100 在javascript中,这里是不会报错的
缺点2:无法限制修改
var a = 10;
a = 100;
console.log(a) // 100
缺点3:没有块级作用域
if(true){
var a = 100;
}
console.log(a); //100
let和const
let和const的共同点:①不能重复声明;②块级作用域(在块级生效)
//let的重复声明
let a = 10;
let a = 100;
console.log(a); //报错
//cosnt的重复声明
const b = 10;
const b = 100;
console.log(b) //报错
//let的块级作用域
if(true){
let a = 10;
}
console.log(a); //报错
//const的块级作用域
if(true){
const b = 10;
}
console.log(b); //报错
let和constde不同点:let声明的是变量(可以改变); const声明的是常量(不可以改变)
//let
let a = 10;
a = 100;
console.log(a); // 100
//const
const b = 10;
b = 100;
console.log(b); //报错
总结: 可以说es6的let和const让javasript更加规范了