ฉันทำงานกับ JavaScript มาสองสามวันแล้วและมาถึงจุดที่ฉันต้องการโอเวอร์โหลดตัวดำเนินการสำหรับวัตถุที่ฉันกำหนดไว้
หลังจากการ จำกัด Google ในการค้นหาสิ่งนี้ดูเหมือนว่าคุณไม่สามารถทำสิ่งนี้ได้อย่างเป็นทางการ แต่ก็มีคนไม่กี่คนที่อ้างว่าวิธีการดำเนินการนี้ที่ยืดเยื้อมานาน
โดยพื้นฐานแล้วฉันสร้างคลาส Vector2 และต้องการทำสิ่งต่อไปนี้:
var x = new Vector2(10,10);
var y = new Vector2(10,10);
x += y; //This does not result in x being a vector with 20,20 as its x & y values.
แต่ฉันต้องทำสิ่งนี้:
var x = new Vector2(10,10);
var y = new Vector2(10,10);
x = x.add(y); //This results in x being a vector with 20,20 as its x & y values.
มีวิธีการที่ฉันสามารถนำตัวดำเนินการโอเวอร์โหลดในคลาส Vector2 ของฉันได้หรือไม่? เท่านี้ก็ดูน่าเกลียดธรรมดา