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éthodeGetter

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éthodeSetter

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
}