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"