eval JavaScript คือคำสั่งที่รองรับอาร์กิวเมนต์ในรูปแบบของสมการ นิพจน์ หรือคำสั่ง JavaScript ในรูปแบบของข้อความ (string) ประโยชน์คือเพื่อทดสอบคำสั่ง JavaScript ในรูปแบบข้อความ โดยคำสั่ง eval นั้นแนะนำให้ใช้อย่างระมัดระวังเนื่องจากมีความเสี่ยงด้านความปลอดภัย จากการโจมตีแบบ Code Injection ได้ เราสามารถทดลองเขียน eval JavaScript ได้ดังนี้
ตัวอย่าง การใช้ eval JavaScript รับสมการ หรือนิพจน์
<script>
var x = 8;
var y = eval("x + 2");
alert('y = '+y);
</script>
ผลลัพธ์
y = 10
จากตัวอย่างโค้ดกำหนดตัวแปร x เท่ากับ 8 จากนั้นส่งสมการ หรือนิพจน์ "x + 2" ให้ eval ทำงานพร้อมกับเก็บผลลัพธ์ไว้ที่ตัวแปร y และแสดงค่าตัวแปร y ด้วยคำสั่ง alert
ตัวอย่าง การใช้ eval JavaScript รับคำสั่ง JavaScript ในรูปแบบของข้อความ
<script>
var a = 0;
eval("if (a < 5) { a = 10 }");
eval("alert('a = '+a)");
</script>
ผลลัพธ์
a = 10
จากตัวอย่างโค้ดอธิบายได้ดังนี้
1. กำหนดให้ตัวแปร a มีค่าเริ่มต้นเท่ากับ 0
2. ส่งคำสั่ง "if (a < 5) { a = 10 }" ให้ eval คือ ถ้าตัวแปร a น้อยกว่า 5 ให้ตัวแปร a เท่ากับ 10
3. ส่งคำสั่ง "alert('a = '+a)" ให้ eval คือ แสดงค่าตัวแปร a ออกสู่หน้าจอในรูปแบบของ alert
สรุป คำสั่ง eval ของ JavaScript นั้นคือคำสั่งที่ทำให้เราสามารถส่ง สมการ นิพจน์ หรือคำสั่ง JavaScript ในรูปแบบของข้อความ (string) เข้าไปประมวลผลได้ โดยคำสั่งนี้มีทั้งประโยชน์ และข้อควรระมัดระวังในการใช้งาน