Javascript: surcharge d'opérateur

J'ai travaillé avec JavaScript pour quelques jours et j'ai arrivé à un point où j'ai envie de surcharger les opérateurs pour mes objets définis.

Après un passage sur la recherche sur google pour cela, il semble que vous ne pouvez pas officiellement ce faire, pourtant, il y a peu de gens le prétendent certains de longue haleine mode de réalisation de cette action.

Au fond, j'ai fait un Vector2 classe et que vous voulez être en mesure de faire ce qui suit:

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.

Au lieu de cela je vais devoir le faire:

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. 

Est là une approche que je peut prendre de la surcharge des opérateurs dans mon Vector2 classe? Comme cela semble juste laid.

InformationsquelleAutor Lee Brindley | 2013-10-27