Disons que j'ai le JSON suivant avec des objets person. Si j'analyse ceci, j'obtiendrai un tableau avec deux objets JavaScript. Disons que je veux équiper ces deux objets avec une méthode appelée introduction, qui fait quelque chose comme çaAttacher le prototype à l'objet JavaScript
function introduce() {
return "My name is " + this.name + " and I am " + this.age + " years old.";
}
Maintenant, je pouvais itérer sur mes deux personnes et appellent
person.constructor.prototype.introduce = introduce
Cependant, cette exposera la fonction d'introduction dans TOUS les objets JavaScript, pas seulement les deux ci-dessus.
Je pourrais également attacher manuellement la fonction à chaque objet, mais si je veux étendre mon peuple avec des fonctions supplémentaires, je devrai itérer à nouveau sur toutes les personnes. Idéalement, je voudrais un prototype que je peux utiliser avec la méthode introduce
et ensuite attacher ce prototype à tous mes gens, donc si j'étends plus tard le prototype, mes gens auront aussi des fonctions supplémentaires.
La question est: comment?
juste faire 'person.prototype.introduce = introduire' et se débarrasser de la partie' constructor'. –
pourquoi ne pas simplement faire une classe 'Person', parse json pour faire' Person'. N'importe quand ajouter une fonction au prototype 'Person'. – mshsayem
@BrianGlaz: Je pense que 'person' est sa référence à l'objet lui-même, donc' person.prototype' n'existera pas. –