Junior
¿Cómo llamar a un método en una cadena de llamadas?
sobes.tech AI
Respuesta de la IA
Usando un punto (.) entre llamadas a métodos o propiedades de un objeto. Cada llamada a método o acceso a propiedad devuelve un objeto, sobre el cual luego se puede llamar al siguiente método o acceder a la siguiente propiedad.
// Ejemplo de cadena de llamadas a métodos
" abc ".trim().toUpperCase().split(" ");
/*
1. " abc ".trim() -> "abc"
2. "abc".toUpperCase() -> "ABC"
3. "ABC".split(" ") -> ["ABC"]
*/
// Ejemplo de cadena con acceso a propiedad
const user = {
address: {
city: "Moscú"
}
};
user.address.city; // "Moscú"
// Ejemplo usando encadenamiento opcional (?.)
// Permite acceder de forma segura a propiedades de objetos anidados,
// evitando errores si alguna de las propiedades intermedias es null o undefined.
user.address?.street; // undefined, sin error
const anotherUser = {};
anotherUser.address?.city; // undefined, sin error
Al diseñar sus propios métodos para soportar encadenamiento, cada método debe devolver this (una referencia al objeto actual), excepto el último método en la cadena, que puede devolver el resultado final.
class Builder {
constructor() {
this.value = "";
}
addText(text) {
this.value += text;
return this; // Devuelve this
}
addNumber(number) {
this.value += number;
return this; // Devuelve this
}
build() {
return this.value; // Devuelve el resultado final
}
}
const result = new Builder().addText("Hello").addNumber(123).build();
console.log(result); // "Hello123"