const是JavaScript中的一個關鍵字,用于聲明常量。在JavaScript中,常量是指在聲明后不能被重新賦值的變量。
與var和let不同,使用const聲明的常量在聲明時必須進行初始化。一旦被賦值,常量的值在其生命周期內不能被修改。例如:
const pi = 3.14; pi = 3.14159; //TypeError: Assignment to constant variable.
在上面的例子中,常量pi在聲明時被賦值為3.14。任何試圖修改pi的操作都會導致TypeError錯誤。
常量可以用來表示一些不會改變的值,例如數學中的π,或者程序中的一些固定配置信息。使用常量可以增加代碼的可讀性和可維護性。
在ECMAScript 6之前,常量通常是通過定義全局變量,然后通過約定俗成的方式將其命名為“常量”來實現。這種方式有很多缺點,例如可能會有人無意中修改了一個被認為是常量的變量的值,或者有人遺漏了一些常量的定義。使用const可以避免這些問題。
除了不能修改其值之外,使用const聲明的常量與用var聲明的變量沒有很大的區別。例如:
const message = "Hello, world!"; var message = "Goodbye, world!"; //SyntaxError: Identifier 'message' has already been declared
在上面的例子中,我們用const聲明了一個常量message,并將其值設置為"Hello, world!"。如果我們嘗試用var聲明一個名為message的變量,并將其值設置為"Goodbye, world!",就會得到一個SyntaxError,因為已經有了一個名為message的標識符。
在JavaScript中,對象和數組是引用類型。使用const聲明的常量不會使對象和數組的內容不可變。例如:
const arr = [1, 2, 3]; arr.push(4); console.log(arr); //[1, 2, 3, 4]
在上面的例子中,我們用const聲明了一個常量arr,并將其值設置為一個包含三個元素的數組。我們隨后調用了push方法,向arr中添加了一個新元素4,這樣arr變成了[1, 2, 3, 4]。使用const聲明的常量只是保證我們不能將arr指向另一個數組,但是可以修改arr指向的數組內部的內容。
總之,const是JavaScript中的一個關鍵字,用于聲明常量。與var和let不同,使用const聲明的常量在聲明時必須進行初始化,一旦被賦值,常量的值在其生命周期內不能被修改。使用const可以增加代碼的可讀性和可維護性,并且避免了約定俗成方式定義常量的缺點。