Sobes.tech
Junior

Kā izsaukt metodi ķēdes izsaukumā?

sobes.tech AI

Atbilde no AI

Lietojiet punktu (.) starp objekta metodēm vai īpašībām. Katrs metodes izsaukums vai piekļuve īpašībai atgriež objektu, uz kura pēc tam var izsaukt nākamo metodi vai iegūt nākamo īpašību.

// Metožu ķēdes piemērs
" abc ".trim().toUpperCase().split(" ");

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

// Īpašības piekļuves ķēdes piemērs
const user = {
  address: {
    city: "Maskava"
  }
};

user.address.city; // "Maskava"

// Piemērs ar izvēles ķēdi (?.)
// Droši piekļūst iekšējo objektu īpašībām,
// novēršot kļūdas, ja kāda no starpposma īpašībām ir null vai undefined.
user.address?.street; // undefined, bez kļūdas

const anotherUser = {};
anotherUser.address?.city; // undefined, bez kļūdas

Izstrādājot savas metodes ķēdēšanai, katrai metodei jāatgriež this (atsauce uz pašreizējo objektu), izņemot pēdējo ķēdes metodi, kura var atgriezt galīgo rezultātu.

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

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

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

  build() {
    return this.value; // Atgriež galīgo rezultātu
  }
}

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