Aucune idée de quoi tu parles. J'ai beau lire de long en large l'exemple de Kaamo, je ne vois rien. En tout cas, que ce soit pour une méthode getter ou une méthode setter, this fait référence à l'objet.
Sauf que la POO sans prototype en JavaScript, ça n'existe pas... Les prototypes sont à la base du langage, il faudrait que tu comprennes ça. D'après ce que je comprends de tes explications, tu voudrais associer méthodes et propriétés à chaque instance plutôt qu'au prototype de ces instances. Ce qui fait que pour 100 objets identiques, tu vas instancier 100 fois les mêmes fonctions et variables. Non seulement c'est le pire cas possible pour l'utilisation mémoire, mais en plus on perd tout l'intérêt de la POO qui est de disposer d'interfaces communes. Ce n'est ni un fonctionnement par classes, ni un fonctionnement par prototypes, c'est juste un paquet de singletons.Je suis trop habitué à la POO sans prototype dans javascript. Elle propose une programmation intuitive qui évite précisément cette complexité. Puisque sans prototype, les fonctions accompagnent les données dans la table-racine(1) de l'objet -> le pointeur 'this' d'une fonction reste toujours associé aux variables décrites dans l'Object de cette fonction.
(1) 'table-racine' : j'indique ici le premier niveau des membres d'un 'Object' repésenté dans les débuggers de Javascript. C'est un tableau composé d'éléments accessibles par leur identité (nom), ce que sekaijin nous décrit comme une Hashtable.
Partager