Getter, Setter
En JavaScript, on peut lier l'affectation et la lecture de propriétés d'objets à des méthodes. On appelle ces méthodes des accesseurs et des mutateurs (getter, setter).
Méthode : Getter
Un accesseur est une méthode qui permet de récupérer un contenu comme si on lisait une propriété.
1
const element = {
2
valeur : 0
3
}
4
Object.defineProperty(element, 'prix', {
5
get: function() {
6
return this.valeur + "€";
7
}
8
})
Testez le code précédent et vérifiez les instructions suivantes
1
element
2
element.prix
Méthode : Setter
Un mutateur est une méthode qui permet d'affecter un contenu comme si on affectait une propriété.
1
const element = {
2
valeur : 0,
3
}
4
Object.defineProperty(element, 'prix', {
5
set: function(prix) {
6
this.valeur = parseFloat(prix);
7
}
8
})
Testez le code précédent et vérifiez les instructions suivantes
1
element.prix = "12.5€"
2
element
Complément : Écriture simplifiée des getters et setters
1
const element = {
2
valeur : 0,
3
get prix(){return this.valeur + "€";},
4
set prix(prix){this.valeur = parseFloat(prix);}
5
}