两种新的方法来定义变量
let
和
const
var
传统上
,关键字
是我们在JavaScript中定义变量的方式。
然而,在JavaScript ES6中,增加了两个新的关键字,这些关键字更好地代表了存储的数据类型,从而使它们更容易调试,更不容易出错。
他们是:
首先要了解关于
let
和
const
的是,他们是块作用域,相比
var
,这是功能范围的。
这意味着它们是定义它们的最近的块(花括号)的
var
本地
,而
对于整个函数是局部的,或者如果在函数外定义则是全局的。
稍后会详细介绍。
之间的区别
let
,并
const
就在于,前者应该被用来认为有可能发生变化的变量,同时
const
,顾名思义,你知道数据将保持不变。
实际上,尝试在设置
const
之后
重置其
值将导致错误。
let关键字
用于
let
在变量持有的数据发生变化时声明变量,类似于
var
:
|
1
2
3
4
|
<font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>让myage = 39</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
if
(
new
Date()。getFullYear == 2018){</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
myage = 40</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
}</font></font>
|
正如您所看到的,一旦我使用了变量定义
let
,我可以通过使用新值再次引用它来更新其值,而不
let
在其前面添加关键字。
与之不同
var
,您不能
let
在块内多次
定义同一个
变量:
|
1
2
3
|
<font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>让myage = 39</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
让myname =
'乔治'
</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
let myage = 40
|
这有助于防止在声明变量后意外覆盖变量,这种情况经常发生
var
。
如上所述,
let
是块作用域,这意味着它在块(花括号)中可用(它包括内部块),但不在它之外:
|
1
2
3
4
|
<font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
if
(
true
){
让myname =
'乔治'
</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
}</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
console.log(myname)
|
相比之下,如果我们使用了var关键字:
|
1
2
3
4
|
<font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
if
(
true
){
var
myname =
'George'
</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
}</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
console.log(myname)
|
使用时
var
,变量的范围限定为函数,或者在上面的示例之外,变量到窗口对象本身。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69933200/viewspace-2651011/
,如需转载,请注明出处,否则将追究法律责任。