Saya tahu bahwa ES6 belum terstandarisasi, tetapi banyak browser saat ini mendukung const kata kunci dalam JS.
Secara spesifik, tertulis bahwa:
Nilai konstanta tidak dapat diubah melalui penetapan ulang, dan konstanta tidak dapat dideklarasikan ulang. Karena itu, meskipun mungkin untuk mendeklarasikan sebuah konstanta tanpa memulainya, hal itu akan sia-sia.
dan ketika saya melakukan sesuatu seperti ini:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
Saya melihat bahwa semuanya ok xxxmasih 6dan yyyadalah [].
Tetapi jika saya melakukannya yyy.push(6); yyy.push(1);, array konstan saya telah diubah. Sekarang ini [6, 1]dan omong-omong saya masih tidak bisa mengubahnya dengan yyy = 1;.
Apakah ini bug, atau saya melewatkan sesuatu? Saya mencobanya di chrome dan FF29 terbaru