let、var与const关键字的区别|ES6学习笔记

1.let关键字声明的变量只在所处的块级作用域有效。

(1)两个作用:

        -防止代码块内层变量覆盖外层变量

        -防止循环变量变成全局变量

(2)在该块级变量的作用域范围之外使用该变量,控制台会报错: XX is not defined

(3)let不允许在相同作用域内重复声明同一个变量。

2.var关键字声明的变量存在变量提升,可以先使用再声明,值为undefined。let、const关键字声明的变量不存在变量提升,只能先声明再使用。     

(1)用var声明的变量,从脚本运行开始,变量就已经存在,可在赋值前使用,不报错,但是值为undefined。

3.const声明的是只读常量,所以不能更改,const声明常量时必须赋值。且const关键字声明的变量也具有块级作用域 ,只能在该语句块内访问。

(1)const声明的变量,和let一样不可重复声明。

var a = "hello"
let b = "ok!"
//以下两行都报错
const a = "666"
const b = "fine"

~顺便记一记

ES6一共有6种声明变量的方法,分别是 var、const、let、function、import、class。

ES6的块级作用域必须有大括号,如果没有大括号,JS引擎就认为不存在块级作用域。

块级作用域之中,函数声明类似于let,在块级作用域之外不可引用。

你可能感兴趣的:(前端学习【基础】,前端,javascript,开发语言)