Surcharge d'opérateurs en JavaScript
JavaScript ne prend pas en charge de manière native la surcharge d'opérateurs pour les objets définis par l'utilisateur. Cela signifie que les opérateurs tels que , = et == ne peuvent pas être redéfinis pour effectuer des opérations personnalisées.
Alternatives à la surcharge d'opérateur
Bien qu'une véritable surcharge d'opérateur ne soit pas possible dans JavaScript, il existe des solutions de contournement qui peuvent obtenir des fonctionnalités similaires :
Exemple de remplacement de méthode pour Emulate = Operator
Pour votre classe Vector2, vous pouvez remplacer la méthode valueOf comme suit :
Vector2.prototype.valueOf = function() {
return [this.x x2, this.y y2];
};
Cela vous permet d'utiliser l'opérateur sur les objets Vector2 en les convertissant en leurs coordonnées respectives.
var x = new Vector2(10, 10);
var y = new Vector2(10, 10);
x = y; // Equivalent to x.x = y.x; and x.y = y.y;
Limitations des solutions de contournement
Bien que ces solutions de contournement puissent fournir un certain degré de fonctionnalités similaires à la surcharge des opérateurs, elles ont des limites :
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3