咨询电话:
15628812133
01
2023/04

什么是es6——变量

发布时间:2023-04-01 10:41:15
发布者:神棍子
浏览量:
0

在之前的es5中声明变量只有两种方式,varfunction分别是声明普通变量和声明方法变量,es6中添加了我们常见的letconst命令外,importclass也属于声明变量的范畴,所以至此es6中一共有6种声明变量的方法,下面逐步探讨下es6变量在各个位置的不同点。

Let与var区别

Let命令与var命令类似,但是let所声明的变量只在命令所在的代码块中有效例如for循环的计数器就适合用let来声明,首先在for循环结束后变量也自动回收,且用var的话声明的计数器最终都会指向最后一个计数器,而let是每一轮变量都是重新生成的,JavaScript引擎内部会记住上一轮循环的值,初始化本轮的变量时是在上一轮循环的基础上计算的,所以每次输出的都是不同的内容。在同一作用域中var可以重复声明变量而let的话则会直接抛异常。

0401-1.jpg

变量提升和死区

Var命令会发生变量提升的现象let则不存在,变量提升现象指的是在变量声明前使用此变量var会输出undefined,而let则会直接抛ReferenceError异常,Es6中规定了,如果块中存在letconst,那么这个块存根一开始就会形成封闭作用域,只要在声明这些变量之前使用了这些变量就会报错,也称为变量的暂时性死区。

0401-2.jpg


关键词:
返回列表