var是JavaScript的设计缺陷,在ES5 版本被大家广泛使用,在ES6版本中,为了弥补var 的缺陷又发布了两种声明方式 let和const。
1、声明区别
var和let都用来声明变量,const只能用来声明常量(既给常量赋值)。
在var 和let 声明变量之后,再改变其值可以改变,而const会报错:对常量不可再赋值Assignment to constant variable.
const只能改变定义常量的属性,既
2、作用域
var 和 let 、const 的区别在作用域。
var 声明的变量可以在全局使用,即使在方法和函数代码块里面声明了变量,因其具有变量提升的作用,在全局也是可以使用的。并且 var 可以在申明变量前使用:
运行代码 其结果为:undefined;
let和const 只能在声明其的代码块{}中使用。