久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

01
2023/04

什么是es6——變量

發(fā)布時間:2023-04-01 10:41:15
發(fā)布者:神棍子
瀏覽量:
0

在之前的es5中聲明變量只有兩種方式,varfunction分別是聲明普通變量和聲明方法變量,es6中添加了我們常見的letconst命令外,importclass也屬于聲明變量的范疇,所以至此es6中一共有6種聲明變量的方法,下面逐步探討下es6變量在各個位置的不同點。

Let與var區(qū)別

Let命令與var命令類似,但是let所聲明的變量只在命令所在的代碼塊中有效。例如for循環(huán)的計數(shù)器就適合用let來聲明,首先在for循環(huán)結束后變量也自動回收,且用var的話聲明的計數(shù)器最終都會指向最后一個計數(shù)器,而let是每一輪變量都是重新生成的,JavaScript引擎內部會記住上一輪循環(huán)的值,初始化本輪的變量時是在上一輪循環(huán)的基礎上計算的,所以每次輸出的都是不同的內容。在同一作用域中var可以重復聲明變量而let的話則會直接拋異常。

0401-1.jpg

變量提升和死區(qū)

Var命令會發(fā)生變量提升的現(xiàn)象let則不存在,變量提升現(xiàn)象指的是在變量聲明前使用此變量var會輸出undefined,而let則會直接拋ReferenceError異常,Es6中規(guī)定了,如果塊中存在letconst,那么這個塊存根一開始就會形成封閉作用域,只要在聲明這些變量之前使用了這些變量就會報錯,也稱為變量的暫時性死區(qū)。

0401-2.jpg


關鍵詞:
返回列表