Getter est une méthode pour obtenir la valeur d'un attribut, et Setter est une méthode pour définir la valeur d'un attribut. Vous pouvez définir des méthodes getter et setter pour tout objet principal prédéfini ou objet défini par l'utilisateur, ajoutant ainsi de nouvelles propriétés aux objets existants.
Il existe deux manières de définir une méthode Getter ou Setter :
1. Définir
lors de l'initialisation de l'objet
2. Une fois l'objet défini, ajoutez des définitions via les méthodes __defineGetter__ et __defineSetter__ d'Object
La seule chose à faire lors de l'utilisation du processus d'initialisation d'objet pour définir les méthodes Getter et Setter est d'ajouter "get" devant la méthode getter et "set" devant la méthode setter.
Une autre chose à noter est que la méthode getter n'a pas de paramètres et que la méthode setter doit avoir un paramètre, qui est la nouvelle valeur de l'attribut à définir.
Par exemple :
Une fois l'objet défini, l'ajout d'une méthode getter ou setter à l'objet nécessite deux méthodes spéciales __defineGetter__ et __defineSetter__. Ces deux fonctions nécessitent que le premier paramètre soit le nom du getter ou du setter, donné sous forme de chaîne, et que le deuxième paramètre soit la fonction qui est le getter ou le setter.
Par exemple, nous ajoutons un attribut année à l'objet Date :
Le formulaire à utiliser dépend principalement de votre style de programmation personnel. Le premier formulaire est compact et plus facile à comprendre. Mais si vous souhaitez ajouter un Getter ou un Setter une fois l'objet défini, ou si le prototype de cet objet n'est pas écrit par vous ou est un objet intégré, alors vous devez utiliser la deuxième méthode.
Ce qui suit est une implémentation de l'ajout de l'attribut innerText au navigateur Mozilla :