Junior
Hogyan hívjuk meg a metódust a hívási láncban?
sobes.tech MI
Válasz az MI-től
Objektum metódushívásai vagy tulajdonságai között pont (.) használjon. Minden metódushívás vagy tulajdonság elérés egy objektumot ad vissza, amelyen a következő metódust vagy tulajdonságot hívhatja meg.
// Metóduslánc példája
" abc ".trim().toUpperCase().split(" ");
/*
1. " abc ".trim() -> "abc"
2. "abc".toUpperCase() -> "ABC"
3. "ABC".split(" ") -> ["ABC"]
*/
// Tulajdonság elérésével láncolás példája
const user = {
address: {
city: "Moszkva"
}
};
user.address.city; // "Moszkva"
// Opcionális láncolás (?.) használata
// Biztonságosan hozzáférhet a beágyazott objektum tulajdonságaihoz,
// elkerülve a hibákat, ha valamelyik közbenső tulajdonság null vagy undefined.
user.address?.street; // undefined, hiba nélkül
const anotherUser = {};
anotherUser.address?.city; // undefined, hiba nélkül
A láncolás támogatására tervezett saját metódusok esetén minden metódusnak vissza kell adnia a this-t (a jelenlegi objektum hivatkozását), kivéve a lánc utolsó metódusát, amely visszaadhatja a végső eredményt.
class Builder {
constructor() {
this.value = "";
}
addText(text) {
this.value += text;
return this; // Visszaadja ezt
}
addNumber(number) {
this.value += number;
return this; // Visszaadja ezt
}
build() {
return this.value; // Visszaadja a végső eredményt
}
}
const result = new Builder().addText("Hello").addNumber(123).build();
console.log(result); // "Hello123"