Ce que je veux, c'est remplacer les attributs de l'instance d'une manière simple, et le faire dans la classe elle-même. Je peux donc profiter du constructeur et ne pas avoir à créer une énorme méthode juste pour mettre à jour.Mise à jour d'un objet JS
function Champ(champ){
var instance = this
instance.id = champ.id
// PERSONAL
instance.name = champ.name
instance.lore = champ.lore
// ATTRIBUTES
instance.attr1 = champ.attr1
instance.attr2 = champ.attr2
instance.fitness = champ.fitness
// BARS
instance.energy = champ.energy
instance.stress = champ.stress
function update(new_champ){
instance = new Champ(new_champ);
}
this.location = "1"
this.update = update
}
// I will put in a simple way, how does it fail for me and how do I wanted it to behave
c = new Champ({energy: 1, stress : 1})
c.energy //=> 1 (OK)
c.update({ energy: 9, stress: 9})
c.energy //=> 1 (FAIL, I wanted it to be 9)
Je suppose que je suis être vraiment naïf, est-il un bon moyen pour que cela fonctionne faire ce genre de remplacement de contexte dans la classe?
Merci, aussi, belle référence –