ค่าของ const คงที่ ไม่สามารถเปลี่ยนแปลงหรือประกาศซ้ำได้ สร้าง reference แบบ read-only ด้วยการประกาศ const
ด้วย const คุณสามารถประกาศตัวแปร local ด้วย block scope แทน function scope สมมติว่ามีตัวแปรคงที่ a หลังจากประกาศค่าเป็น constant แล้ว ไม่สามารถกำหนดค่าใหม่ให้ได้
// ประกาศ 'a' เป็น constant variable const a = 150; // การกำหนดค่าใหม่ให้ 'a' จะล้มเหลว เพราะ 'a' เป็น constant a = 0; // TypeError: Assignment to constant variable a++; // TypeError // การประกาศด้านล่างไม่ทำงาน var a = 0; // SyntaxError: Identifier 'a' has already been declared
ข้อสังเกตสำคัญ
constไม่ทำให้ value เป็น immutable — เฉพาะ binding (การผูกตัวแปร) ที่ไม่เปลี่ยนได้- Object/Array ที่宣告ด้วย const ยังแก้ไข property/element ได้:
const arr = [1, 2]; arr.push(3); // OK arr = []; // TypeError const obj = {a: 1}; obj.a = 2; // OK obj = {}; // TypeError - ใช้
Object.freeze()หากต้องการ deep immutability