教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

const關鍵字是什么?let、const、var的區(qū)別

更新時間:2022年07月27日16時46分 來源:傳智教育 瀏覽次數:

好口碑IT培訓

const是ES6中新增的用于聲明常量的關鍵字。所謂常量就是值(內存地址)不能變化的量。const關鍵字聲明的常量具有塊級作用域,聲明常量時必須賦值,聲明常量并賦值后常量的值不能修改。

1.const關鍵字聲明的常量具有塊級作用域

演示const關鍵字聲明的常量塊級作用域效果,具體代碼如下:

   <script>
    if (true) {
     const a = 10;
   wconsole.log(a);      //輸出結果:10
   }
   console.log(a);       //報錯,a未定義
   </script>

2.const關鍵字聲明常量時必須賦值

演示const關鍵字聲明常量時不賦值的情況

   <script>
    const PI;//報錯,常量PI未賦值
   </script>

3.const關鍵字聲明常量并賦值后常量的值不能修改

(1)對于基本數據類型(如數值、字符串),一旦賦值,值就不可修改。

   <script>
    const PI = 3.14;
    PI=100;/∥報錯,無法對常量賦值
   </script>

(2)對于復雜數據類型(如數組、對象),雖然不能重新賦值,但是可以更改內部的值。

  <script>
   const ary =[100, 200];
   ary[0] = 'a';
   ary[1] = 'b';
   console.log(ary);∥可以更改數組內部的值,結果為['a','b']
   ary=['a','b'];∥報錯,無法對常量賦值
  </script>
let、const、var關鍵字之間的區(qū)別

變量的作用域范圍不同

使用var關鍵字聲明的變量,其作用域為該語句所在的函數內,且存在變量提升現象。使用let關鍵字聲明的變量和使用const關鍵字聲明的常量都具有塊級作用域。

變量提升

使用var關鍵字聲明的變量存在變量提升,可以先使用再聲明。使用let關鍵字聲明的變量和const關鍵字聲明的常量不存在變量提升功能,只能先聲明再使用。

值是否可以更改

使用var關鍵字和let關鍵字聲明的變量,可以更改變量的值,但使用const關鍵字聲明的常量,不能更改常量值對應的內存地址。

在編寫程序的過程中,如果要存儲的數據不需要更改,建議使用const關鍵字,如函數的定義、T值或數學公式中一些恒定不變的值。由于使用const聲明的常量,其值不能更改,且JavaScript解析引擎不需要實時監(jiān)控值的變化,所以使用const關鍵字要比let關鍵字效率更高。

0 分享到:
和我們在線交談!