let、const用法

let

  • 不存在變量提升
  • 暫時(shí)性死區(qū)
  • 不允許重復(fù)聲明
  • 塊級(jí)作用域
    • 外層作用域無(wú)法讀取內(nèi)層作用域的變量
    • 內(nèi)層作用域可以定義外層作用域的同名變量。
    • 塊級(jí)作用域的出現(xiàn),實(shí)際上使得獲得廣泛應(yīng)用的立即執(zhí)行函數(shù)表達(dá)式(IIFE)不再必要了。

const

  • const聲明一個(gè)只讀的常量。一旦聲明,常量的值就不能改變
  • const的作用域與let命令相同:只在聲明所在的塊級(jí)作用域內(nèi)有效。
  • 暫時(shí)性死區(qū)
  • 不可重復(fù)聲明
  • 本質(zhì):const實(shí)際上保證的,并不是變量的值不得改動(dòng),而是變量指向的那個(gè)內(nèi)存地址不得改動(dòng)。對(duì)于簡(jiǎn)單類型的數(shù)據(jù)(數(shù)值、字符串、布爾值),值就保存在變量指向的那個(gè)內(nèi)存地址,因此等同于常量。但對(duì)于復(fù)合類型的數(shù)據(jù)(主要是對(duì)象和數(shù)組),變量指向的內(nèi)存地址,保存的只是一個(gè)指針,const只能保證這個(gè)指針是固定的,至于它指向的數(shù)據(jù)結(jié)構(gòu)是不是可變的,就完全不能控制了。因此,將一個(gè)對(duì)象聲明為常量必須非常小心。

ES6聲明變量的6種方式

  • var(聲明的是頂層的對(duì)象)
  • function
  • let(聲明的是局部的對(duì)象)
  • const
  • import
  • class
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容