JavaScript ООП-де қияли қасиеттердің сеттерлері

Қияли қасиеттердің геттерлерінен басқа олардың сеттерлерін де жасауға болады. Бұл жағдайда сеттердің ішінде біз деректерді алып, оларды бөліп, сәйкес бөліктерін тиісті жарияланған қасиеттерге жазуымыз керек.

Келіңіздер, байқап көрейік. <full> қияли қасиетінің сеттерін жүзеге асырайық:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  get full() {
    return this.name + ' ' + this.surn;
  }
  
  set full(full) {
    let [name, surn] = full.split(' ');
    
    this.name = name;
    this.surn = surn;
  }
}

Деструктуризацияны жеңілдетейік:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  get full() {
    return this.name + ' ' + this.surn;
  }
  
  set full(full) {
    [this.name, this.surn] = full.split(' ');
  }
}

Сыныптың нысанасын жасайық:

javascriptlet user = new User('john', 'smit');

Деректерді біздің қияли сеттерге жазайық:

javascriptuser.full = 'eric jons';

Нысанның қасиеттерінің өзгергенін тексерейік:

javascriptconsole.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'