ES6 - handler.get ()

L'esempio seguente definisce una classe Student con un costruttore e un metodo getter personalizzato, fullName. Il metodo getter personalizzato restituisce una nuova stringa concatenando il filefirstName e lastName. Il programma crea un proxy e definisce un oggetto gestore che intercetta ogni volta che si accede alle proprietà firstName, lastName e fullName. I valori delle proprietà verranno restituiti in maiuscolo.

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

L'output del codice precedente sarà il seguente:

TUTORIALS : POINT
TUTORIALS
POINT