ES6 - handler.get()


Advertisements

The following example defines a class Student with a constructor and a custom getter method, fullName. The custom getter method returns a new string by concatenating the firstName and lastName. The program creates a proxy and defines a handler object intercepts whenever the propertiesfirstName, lastName and fullName are accessed. The property values will be returned in uppercase.

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

The output of the above code will be as follows −

TUTORIALS : POINT
TUTORIALS
POINT
Advertisements