การสร้างอินสแตนซ์คลาสและเข้าถึงผ่าน eval()
ตัวอย่างนี้แสดงการสร้างคลาส รับค่าใน constructor และใช้ eval() เพื่อเข้าถึง property
ตัวอย่างโค้ด
class FirstClass {
constructor(message) {
this.message = message;
}
}
var message = 'This is the Class Demo';
var object = new FirstClass(message);
console.log(eval(object).message);
วิธีรัน
node fileName.js
ผลลัพธ์
This is the Class Demo
⚠️ ข้อควรระวัง
- ไม่แนะนำให้ใช้
eval()ในโค้ดจริง เพราะมีความเสี่ยงด้านความปลอดภัยและประสิทธิภาพ - วิธีที่ดีกว่า: เข้าถึง property โดยตรง
object.message eval()จะรันโค้ดสตริงเป็น JavaScript ซึ่งอาจเปิดโอกาสให้โจมตี XSS ได้
แนวทางที่แนะนำ
// วิธีปกติ - ปลอดภัยและเร็วกว่า
console.log(object.message); // "This is the Class Demo"