ES6 - handler.construct ()

L'exemple suivant définit une classe Studentavec un constructeur et une méthode getter. Le constructeur prend firstName et lastName comme paramètres. Le programme crée un proxy et définit un objet gestionnaire pour intercepter le constructeur. L'objet handler vérifie le nombre de paramètres transmis au constructeur. L'objet gestionnaire renvoie une erreur si exactement deux paramètres ne sont pas passés au constructeur.

<script>
   class Student{
      constructor(firstName,lastName){
         this.firstName = firstName
         this.lastName = lastName
      }
   
      get fullName(){
         return `${this.firstName} : ${this.lastName}`
      }
   }
   const handler = {
      construct:function(target,args){

         if(args.length==2) {
            return Reflect.construct(target,args);
         }
         else throw 'Please enter First name and Last name'
      }
   }
   const StudentProxy = new Proxy(Student,handler)
   const s1 = new StudentProxy('kannan','sudhakaran')
   console.log(s1.fullName)
   const s2 = new StudentProxy('Tutorials')
   console.log(s2.fullName)
</script>

La sortie du code ci-dessus sera la suivante -

kannan : sudhakaran
Uncaught Please enter First name and Last name