ถ้าใช้ const ประกาศ function expression แล้วพยายาม reassign จะเกิด error
ตัวอย่างโค้ด
const result = (first, second) => first * second; result = first => first = first * 10; console.log(result(10, 20));
รันด้วยคำสั่ง:
node fileName.js
ชื่อไฟล์: demo284.js
ผลลัพธ์ (Error)
PS C:\Users\Amit\javascript-code> node demo284.js C:\Users\Amit\javascript-code\demo284.js:2 result = first => first = first * 10; ^ TypeError: Assignment to constant variable.
คอมเมนต์บรรทัดที่ error:
// result = first => first = first * 10;
ผลลัพธ์:
PS C:\Users\Amit\javascript-code> node demo284.js 200
คำอธิบาย: const ผูกตัวแปรกับค่า (binding) ไม่ให้ reassign ได้ แต่ property ของอ็อบเจ็กต์ยังเปลี่ยนได้ Function expression ที่ assign ให้ const ไม่สามารถชี้ไปฟังก์ชันอื่นได้