ES6 - handler.get ()

L'exemple suivant définit une classe Student avec un constructeur et une méthode getter personnalisée, fullName. La méthode getter personnalisée renvoie une nouvelle chaîne en concaténant lefirstName et lastName. Le programme crée un proxy et définit un objet gestionnaire intercepte à chaque fois que les propriétésprénom, nom et nom complet sont accédées. Les valeurs de propriété seront renvoyées en majuscules.

<script>
   class Student{
      constructor(firstName,lastName){
         this.firstName = firstName
         this.lastName = lastName
      }
      get fullName(){
         return `${this.firstName} : ${this.lastName}`
      }
   }
   const handler = {
      get: function(target,property){
         Reflect.get(target,property).toUpperCase();
      }
   }
   const s1 = new Student("Tutorials","Point")
   const proxy = new Proxy(s1,handler)
   console.log(proxy.fullName)
   console.log(proxy.firstName)
   console.log(proxy.lastName)
</script>

La sortie du code ci-dessus sera la suivante -

TUTORIALS : POINT
TUTORIALS
POINT