Karen Huang
Oct 13, 2021

ㄟ問你喔,var, let 和 const 有啥不同?之三 (const 的比較)

Photo by David Monje on Unsplash

在開始比較 const 與 var、let 的差異之前,先認識一下 const 的基本概念吧。

用 const 來宣告的變數,被稱為「常數 (constant) 」,常數只可被讀取,但不允許更動。那什麼時機會用到 const 來宣告一個變數呢?例如:天上有一個太陽,太陽的數量是恆常不變的、或是一筆商品的定價,或任何你在開發上不希望被更動的資料等。

const 與 var、let 的比較

重點一,const 所宣告的變數:

跟 let 一樣都是區塊作用域。

重點二,const 所宣告的變數:

除了不可再一次用 const 宣告,也不可再重新賦予值。

當以 const 宣告 sunNum 這個變數,並賦予值為 1,又要再一次用 const 宣告這個變數的時候,主控台回傳告知 sunNum 這個變數已經被宣告過了。

接下來,如果要將 sunNum 重新賦予值為 100 的時候,也會得到主控台回傳「賦予值到常數」這個動作的報錯。

以上就是我試圖拆解並理解 var, let 和 const 這三者有何不同的過程:

首先,理解變數,以及如何宣告一個變數,再進一步理解全域作用域與區域作用域的範圍,並再將區域作用域拆解出函式作用域與區塊作用域,最後在這個基礎上,理解透過 var 宣告變數的函式作用域,以及 let 及 const 的區塊作用域的比較。

若有錯誤的部分請不吝指教,謝謝!

參考資料:

Karen Huang
Karen Huang

Written by Karen Huang

寫下來的,比較不容易忘記。

No responses yet