天天看点

js的var,let和const区别

简单说一下:

es6新增定义块级作用域变量的方法 let 和 const

首先说一下js作用域

在js中只有函数function的{}里面才叫作用域,而for, if的{}都不能称之为作用域.

也就是说函数里面的变量一般不能被外部访问

var 就是声明一个变量 ,不多说.

let,const都是声明一个块级作用域的变量. 就是说 let const定义在if for里面也能形成一个作用域块.

js的var,let和const区别

在外部是不能访问到变量a的,const也是如此,

再说一下const let的区别

1 const是定义一个常量,不能被重新赋值,而且不能重新声明. 但是let可以.

js的var,let和const区别

2 同一作用域中也不能用let, const重复声明相同的变量;

js的var,let和const区别

如果我们用const声明一个对象呢? 能不能改变对象里的值呢? 答案是能!

js的var,let和const区别

如果再想具体学习es6的语法,可以参考阮一峰老师的博客.