ฉันรู้ว่า ES6 ยังไม่ได้มาตรฐาน แต่ปัจจุบันเบราว์เซอร์จำนวนมากรองรับ const
คำหลักใน JS
ในข้อมูลจำเพาะเขียนไว้ว่า:
ค่าของค่าคงที่ไม่สามารถเปลี่ยนแปลงผ่านการกำหนดใหม่และไม่สามารถประกาศค่าคงที่อีกครั้งได้ ด้วยเหตุนี้แม้ว่าจะเป็นไปได้ที่จะประกาศค่าคงที่โดยไม่ต้องกำหนดค่าเริ่มต้น แต่ก็ไม่มีประโยชน์ที่จะทำเช่นนั้น
และเมื่อฉันทำสิ่งนี้:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
ผมเห็นว่าทุกอย่างก็โอเคxxx
ยังคงมี6
และเป็นyyy
[]
แต่ถ้าฉันทำyyy.push(6); yyy.push(1);
อาร์เรย์คงที่ของฉันก็เปลี่ยนไป ตอนนี้มันเป็นและโดยวิธีการที่ผมยังคงไม่สามารถเปลี่ยนแปลงได้ด้วย[6, 1]
yyy = 1;
ฉันเป็นบั๊กหรือฉันพลาดอะไรไป? ฉันลองใช้ใน chrome และ FF29 ล่าสุด