Junior
Çağırış zəncirində metodu necə çağırmaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
Obyektin metod çağırışları və ya xassələri arasında nöqtə (.) istifadə edin. Hər metod çağırışı və ya xassəyə giriş, sonra növbəti metod çağırışını və ya xassəyə giriş üçün obyekt qaytarır.
// Metodların zənciri nümunəsi
" abc ".trim().toUpperCase().split(" ");
/*
1. " abc ".trim() -> "abc"
2. "abc".toUpperCase() -> "ABC"
3. "ABC".split(" ") -> ["ABC"]
*/
// Xassəyə giriş ilə zəncir nümunəsi
const user = {
address: {
city: "Moskva"
}
};
user.address.city; // "Moskva"
// Optional chaining (?.) istifadə nümunəsi
// Bu, iç-içə obyektlərin xassələrinə təhlükəsiz giriş imkanı verir,
// və orta xassələr null və ya undefined olsa, səhvlərin qarşısını alır.
user.address?.street; // undefined, səhv olmadan
const anotherUser = {};
anotherUser.address?.city; // undefined, səhv olmadan
Öz metodlarınızı zəncirə dəstək olmaq üçün dizayn edərkən, hər metod this-i (mövcud obyektə istinad) qaytarmalıdır, zəncirin sonuncu metodundan başqa, bu qayda keçərlidir.
class Builder {
constructor() {
this.value = "";
}
addText(text) {
this.value += text;
return this; // this qaytarır
}
addNumber(number) {
this.value += number;
return this; // this qaytarır
}
build() {
return this.value; // nəticəni qaytarır
}
}
const result = new Builder().addText("Hello").addNumber(123).build();
console.log(result); // "Hello123"