Une fois qu'un objet a été instancié, si vous souhaitez qu'il ait de nouveaux attributs, pouvez-vous les ajouter uniquement via un prototype ? Pourquoi le constructeur ne peut-il pas être modifié ?
La raison pourrait-elle être qu'une fois qu'un objet a été instancié, l'existence de ses propriétés et méthodes n'a rien à voir avec le constructeur ?
Prototype s'appelle la chaîne de prototypes.
1. Une fois qu'un objet est instancié, il peut être ajouté directement par Object.name. Quant à celles ajoutées via la chaîne de prototypes, ce sont des propriétés publiques ajoutées, auxquelles d'autres objets peuvent accéder via la même instance de classe.
2. L'objet instancié ne peut pas accéder à la chaîne de prototypes. La chaîne de prototypes n'est disponible que dans Class, et les propriétés et méthodes de la chaîne de prototypes sont ajoutées via Class.prototype. Le constructeur appartient également à la méthode de chaîne de prototypes. Vous pouvez modifier le constructeur que vous obtenez après avoir passé l'instance, mais cela ne peut pas affecter le constructeur de Class et changera à mesure que Class.prototype change.
Quant à l'objet instancié qui souhaite utiliser les propriétés et méthodes définies dans la chaîne de prototypes, vous pouvez utiliser directement Object.name.
Vous pouvez aller en savoir plus sur la chaîne de prototypes. Il y en a beaucoup dans la recherche Baidu.
Je suis également un débutant, je voudrais donc signaler d'éventuelles lacunes.