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 xxx
masih 6
dan yyy
adalah []
.
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