typescript getter setter generic code example

Example: typescript getter setter

interface IPerson {
  fullname: string
  age: number
}

class Person {
  
 private fullname:string;
 private age:number;

 constructor({...options}: IPerson ) {
  this.fullname = 'jane doe'
  this.age = 30
  this.set(options)
 }

 get(): IPerson {
   const data = {
     fullname: this.fullname,
     age: this.age
   }
   return data
 }

 set<T extends IPerson>({...options}: T): void {
   this.fullname = options.fullname
   this.age = options.age
 }

}

const data = new Person({
  fullname: 'john doe',
  age:28
})

console.log(data.get())