คำหลักประกาศครั้งที่สามที่แนะนำโดย ES6 นั้นคล้ายคลึงกับ Let: Const
ดูการใช้งาน:
const c1 = 1; const c2 = {}; const c3 = []; Object.getOwnPropertyDescriptor (หน้าต่าง "c1") // วัตถุ {value: 1, เขียนได้: เท็จ, enumerable: จริง, กำหนดค่าได้: false}ตัวอย่างข้างต้นบอกว่าคุณไม่สามารถกำหนดค่าให้กับ C2 ได้ แต่เนื้อหาของ C2 สามารถเปลี่ยนแปลงได้เนื่องจาก C2 เป็นวัตถุ ดูตัวอย่าง:
C2.P1 = 1;
ในทำนองเดียวกันคุณสามารถเพิ่มองค์ประกอบให้กับ C3 ได้เนื่องจาก C3 เป็นอาร์เรย์
มีปัญหาอีกประการหนึ่งที่ Const ประกาศค่าคงที่นั่นคือการประกาศและการเริ่มต้นจะต้องอยู่ด้วยกันและหลังจากการประกาศจะต้องเริ่มต้น:
'ใช้อย่างเข้มงวด'; const c4; // uncaught syntaxerror: โทเค็นที่ไม่คาดคิด;
หากคุณลบเครื่องหมายอัฒภาคคุณจะยังคงรายงานข้อผิดพลาด เราจะไม่หารือเกี่ยวกับสถานการณ์ภายใต้โหมดที่ไม่ได้ใช้งานที่นี่ หากคุณสนใจคุณสามารถลองด้วยตัวเอง
ตัวแปรที่ประกาศโดย const นั้นคล้ายกับที่ประกาศโดย LET ความแตกต่างคือตัวแปรที่ประกาศโดย const สามารถกำหนดค่าได้ในระหว่างการประกาศและไม่สามารถแก้ไขได้ตามต้องการมิฉะนั้นจะทำให้เกิดไวยากรณ์ (ข้อผิดพลาดทางไวยากรณ์)
const max_cat_size_kg = 3000; // แก้ไข max_cat_size_kg = 5000; // ข้อผิดพลาดทางไวยากรณ์ (SyntaxError) MAX_CAT_SIZE_KG ++; // แม้ว่าจะมีการเปลี่ยนแปลง แต่ก็ยังทำให้เกิดข้อผิดพลาดทางไวยากรณ์
แน่นอนว่าการออกแบบข้อกำหนดนั้นฉลาดพอ หลังจากประกาศตัวแปรด้วย const คุณต้องกำหนดค่ามิฉะนั้นข้อผิดพลาดทางไวยากรณ์จะถูกโยน
const thefairest; // มันยังคงเป็นข้อผิดพลาดทางไวยากรณ์คุณโชคร้าย