ES6 - handler.get ()
El siguiente ejemplo define una clase Student con un constructor y un método getter personalizado, fullName. El método getter personalizado devuelve una nueva cadena concatenando elfirstName y lastName. El programa crea un proxy y define un objeto manejador que intercepta cada vez que se accede a las propiedades firstName, lastName y fullName. Los valores de las propiedades se devolverán en mayúsculas.
<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 salida del código anterior será la siguiente:
TUTORIALS : POINT
TUTORIALS
POINT