Kata kunci deklarasi ketiga yang diperkenalkan oleh ES6 mirip dengan Let: Const.
Lihatlah penggunaannya:
const C1 = 1; const c2 = {}; const c3 = []; Object.getOwnPropertyDescriptor (window, "c1") // objek {value: 1, writable: false, enumerable: true, configable: false}Contoh di atas mengatakan bahwa Anda tidak dapat menetapkan nilai ke C2, tetapi konten C2 dapat diubah karena C2 adalah objek. Lihat contohnya:
c2.p1 = 1;
Demikian pula, Anda juga dapat menambahkan elemen ke C3 karena C3 adalah array.
Ada masalah lain dengan Const menyatakan konstanta, yaitu, deklarasi dan inisialisasi harus bersama, dan setelah deklarasi, itu harus diinisialisasi:
'Gunakan ketat'; const C4; // Sintakserror yang tidak dibawa: token tak terduga;
Jika Anda menghapus titik koma, Anda masih akan melaporkan kesalahan. Kami tidak akan membahas situasi di bawah mode non-ketat di sini. Jika Anda tertarik, Anda dapat mencobanya sendiri.
Variabel yang dinyatakan oleh Const mirip dengan yang dinyatakan oleh Let. Perbedaannya adalah bahwa variabel yang dinyatakan oleh Const hanya dapat diberikan nilai selama deklarasi dan tidak dapat dimodifikasi sesuka hati, jika tidak, ia akan menyebabkan sintakser (kesalahan sintaks).
const max_cat_size_kg = 3000; // benar max_cat_size_kg = 5000; // Kesalahan Sintaks (SyntaxError) MAX_CAT_SIZE_KG ++; // Meskipun telah berubah, itu masih menyebabkan kesalahan sintaksis
Tentu saja, desain spesifikasi cukup bijaksana. Setelah mendeklarasikan variabel dengan Const, Anda harus menetapkan nilai, jika tidak, kesalahan sintaks juga akan dilemparkan.
const thefairest; // Ini masih kesalahan sintaksis, Anda orang yang sial