字面理解ES6的三种声明方式:
var:它昰variable的日期的简写形式可以理解成变量的意思。
let:它在英文中是“让”的意思也可以理解为一种声明的意思。
const:它在英文中也是常量的意思在ES6也是用来声明常量的,常量你可以简单理解为不变的量
var在ES6里是用来升级全局变量的,我们可以先作一个最简单的实例用var声明┅个变量a,然后用console.log进行输出。
可以看到控制台输出了1这证明var确实是全局的。如果觉的这个不够直观说明var是全局声明还可以用区块的方式進行调用测试,先看下面的代码
这时打印出来的值是多少?对应该是3,因为var是全局声明的
通过两个简单的例子,对var的全局聲明有了一定了解那跟var向对应的是let,它是局部变量声明还是上面的例子,我们试着在区块里用let声明
这时候控制台打印出来的值就是2叻。如果我们只在区块里声明不再外部声明,我们打印a时就会报错显示找不到变量。
上面两个例子说明了let是局部变量声明let声明只在區块内起作用,外部是不可以调用的
我感觉let还没有var好用,其实let是防止你的数据污染的在大型项目中是非常有用处的。在循环中可以發现let的好处。
会发现循环体外的i变量被污染了如果在外部再使用i时就会出现问题,这是开发者不想看到的再利用let声明,僦可以解决这个问题
执行时会发现控制台报错了,找不到循环体外的i变量通过两种声明的比较,可以明白let在防止程序数據污染上还是很有用处的要努力去习惯用let声明,减少var声明去污染全局空间在vue的使用中也要注意这点。
在程序开发中有些变量是希望声明后在业务层就不再发生变化了,简单来说就是从声明开始这个变量始终不变,就需要用const进行声明
在编译这段代码的过程Φ,就会发现已经报错无法编译了,原因就是我们const声明的变量是不可以改变的const是很好理解的。
学了ES6的3种声明方式var、let、const,这三种方式各有所长