Sobes.tech
Junior

Kuidas kutsuda meetodit kutsesüsteemis?

sobes.tech AI

Vastus AI-lt

Kasuta objekti meetodite või omaduste vahel punkti (.). Iga meetodi või omaduse kasutamine tagastab objekti, millele saab seejärel kutsuda järgmise meetodi või saada järgmise omaduse.

// Meetodite ahelamise näide
" abc ".trim().toUpperCase().split(" ");

/*  
   1. " abc ".trim()  -> "abc"  
   2. "abc".toUpperCase() -> "ABC"  
   3. "ABC".split(" ") -> ["ABC"]  
*/

// Omaduse kasutamise ahelamise näide
const user = {
  address: {
    city: "Moskva"
  }
};

user.address.city; // "Moskva"

// Näide valikulise ahelaga (?.)
// Annab turvalise juurdepääsu sisemistele objektide omadustele,
// vältides vigu, kui üks vahepealne omadus on null või undefined.
user.address?.street; // undefined, ilma veata

const anotherUser = {};
anotherUser.address?.city; // undefined, ilma veata

Oma meetodite disainimisel, mis toetavad ahelat, peab iga meetod tagastama this (viide praegusele objektile), välja arvatud viimane ahela meetod, mis võib tagastada lõpliku tulemuse.

class Builder {
  constructor() {
    this.value = "";
  }

  addText(text) {
    this.value += text;
    return this; // Tagastab this
  }

  addNumber(number) {
    this.value += number;
    return this; // Tagastab this
  }

  build() {
    return this.value; // Tagastab lõpliku tulemuse
  }
}

const result = new Builder().addText("Hello").addNumber(123).build();
console.log(result); // "Hello123"