1. 程式人生 > >ES6 let和const 命令

ES6 let和const 命令

技術分享 全局變量 方法 需要 不變 可能 不能 有效 內部

一、let命令

  使用的註意事項:

   1、es6新增了let命令,它的用法和var 差不多,但是它聲明的變量只在let命令所在的代碼塊有效

    技術分享圖片

   2、不存在變量提升,所以變量要聲明後再使用,不然會報錯

    技術分享圖片

   3、不允許在相同的作用域中重復聲明同一個變量,所以也不能在函數裏重新聲明參數

    技術分享圖片

   4、let為js新增了塊級作用域,這樣就能避免變量的全局汙染

    4-1、為什麽需要塊級作用域

      1、在es5中,函數作用域:內層變量可能會覆蓋外層變量

      技術分享圖片

      2、用來計數的循環變量泄露為全局變量

      技術分享圖片

    4-2、es6中的塊級作用域

      1、避免循環變量、泄露成全局變量,造成全局汙染

      技術分享圖片

      2、外部代碼塊不受內部代碼塊的影響

        技術分享圖片

二、const命令

   使用的註意事項:

     1、const用來聲明常量,一旦聲明,它的值就不能改變,並且應該立即被初始化,不能留到以後再賦值

     2、作用域與let命令相同:只在聲明所在的塊級作用域內有效

     3、const命令聲明的常量,同樣存在暫時性死區,只能在聲明後使用

     4、與let一樣const也不能重復聲明常量

     5、對於復合類型的變量,變量名不指向數據,而直指向數據所在的地址。

      const命令知識保證變量名指向的地址不變,並不保證地址的 數據不變

      技術分享圖片    常量foo存儲的是地址,指向一個對象,不能把foo指向另外的一個地址

總結:es5聲明變量的方法只有var和function,而在es6中卻有6種方法,增加了let和const命令。後面還會有import命令和class命令,學了es6要學會使用它

    

      

   

      

      

    

    

    

   

  

ES6 let和const 命令