Je suis en création d'un Vecteur de classe, qui peuvent fondamentalement tenir trois valeurs numériques. Cependant, beaucoup d'opérations peuvent être effectuées sur un tel vecteur - par exemple, l'obtention de l'ampleur, en ajoutant ou en soustrayant un autre vecteur etc.
Je me demandais si ces fonctions doivent être codées comme étant un prototype de fonction de la classe Vector, ou que je doit les définir dans le constructeur.
Alors laquelle de ces deux méthodes est-elle préférable?
function Vector3D(x, y, z) {
this.x = x;
this.y = y
this.z = z;
}
Vector3D.prototype.magnitude = function() {
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
};
ou
function Vector3D(x, y, z) {
this.x = x;
this.y = y;
this.z = z;
this.magnitude = function() {
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
};
}