Junior
Comment appeler une méthode dans une chaîne d'appels?
sobes.tech IA
Réponse de l'IA
Utilisez un point (.) entre les appels de méthodes ou les propriétés d'un objet. Chaque appel de méthode ou accès à une propriété renvoie un objet, sur lequel vous pouvez ensuite appeler la méthode suivante ou accéder à la propriété suivante.
// Exemple de chaîne d'appels de méthodes
" abc ".trim().toUpperCase().split(" ");
/*
1. " abc ".trim() -> "abc"
2. "abc".toUpperCase() -> "ABC"
3. "ABC".split(" ") -> ["ABC"]
*/
// Exemple de chaîne avec accès à une propriété
const user = {
address: {
city: "Moscou"
}
};
user.address.city; // "Moscou"
// Exemple avec utilisation de l'opérateur de chaînage optionnel (?.)
// Permet d'accéder en toute sécurité aux propriétés d'objets imbriqués,
// évitant les erreurs si une des propriétés intermédiaires est null ou undefined.
user.address?.street; // undefined, sans erreur
const anotherUser = {};
anotherUser.address?.city; // undefined, sans erreur
Lors de la conception de vos propres méthodes pour supporter le chaînage, chaque méthode doit retourner this (une référence à l'objet courant), sauf la dernière méthode dans la chaîne, qui peut retourner le résultat final.
class Builder {
constructor() {
this.value = "";
}
addText(text) {
this.value += text;
return this; // Retourne this
}
addNumber(number) {
this.value += number;
return this; // Retourne this
}
build() {
return this.value; // Retourne le résultat final
}
}
const result = new Builder().addText("Hello").addNumber(123).build();
console.log(result); // "Hello123"