ค่าคงที่ที่มีอาร์เรย์หรือออบเจ็กต์ใน JavaScript
ค่าคงที่ที่มีอาร์เรย์และออบเจ็กต์ ทำงานในลักษณะที่น่าสนใจ JavaScript ไม่อนุญาตให้เปลี่ยนค่าของค่าคงที่เหล่านี้ แต่การเปลี่ยนคุณสมบัติของออบเจ็กต์และค่า ขององค์ประกอบอาร์เรย์นั้นทำได้
มาดูตัวอย่างกัน สมมติว่าเรามี ออบเจ็กต์ดังนี้:
const obj = {a: 1, b: 2, c: 3};
ลองพยายามกำหนดค่าใหม่ให้มัน:
obj = 123; // ข้อผิดพลาด
ลองพยายามกำหนดออบเจ็กต์อื่น ให้กับค่าคงที่:
obj = {x: 1, y: 2, z: 3}; // ข้อผิดพลาด
อย่างไรก็ตาม หากเราพยายามเปลี่ยนคุณสมบัติ ของออบเจ็กต์ มันจะทำงานได้:
obj.a = '+'; // ทำงาน!
ผลลัพธ์ที่ได้จากการรันโค้ดต่อไปนี้คืออะไร:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
ผลลัพธ์ที่ได้จากการรันโค้ดต่อไปนี้คืออะไร:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
ผลลัพธ์ที่ได้จากการรันโค้ดต่อไปนี้คืออะไร:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);