Junior
Qo'ng'iroq zanjirida metodani qanday chaqirish mumkin?
sobes.tech AI
AIdan javob
Obyekt metodlari yoki xususiyatlari o‘rtasida nuqta (.) dan foydalaning. Har bir metod chaqiruvi yoki xususiyatga kirish, keyingi chaqiruv yoki xususiyatga kirish uchun ob'ektni qaytaradi.
// Metodlar zanjiri misoli
" abc ".trim().toUpperCase().split(" ");
/*
1. " abc ".trim() -> "abc"
2. "abc".toUpperCase() -> "ABC"
3. "ABC".split(" ") -> ["ABC"]
*/
// Xususiyatga kirish bilan zanjir misoli
const user = {
address: {
city: "Moskva"
}
};
user.address.city; // "Moskva"
// Optional chaining (?.) dan foydalanish misoli
// Bu, ichki ob'ektlarning xususiyatlariga xavfsiz kirishni ta'minlaydi,
// va agar o‘rtacha xususiyat null yoki undefined bo‘lsa, xatoni oldini oladi.
user.address?.street; // undefined, xato yo‘q
const anotherUser = {};
anotherUser.address?.city; // undefined, xato yo‘q
O‘z metodlaringizni zanjirni qo‘llab-quvvatlash uchun ishlab chiqishda, har bir metod this (hozirgi ob'ektga ishora) ni qaytarishi kerak, faqat zanjirdagi oxirgi metod, u yakuniy natijani qaytarishi mumkin.
class Builder {
constructor() {
this.value = "";
}
addText(text) {
this.value += text;
return this; // this ni qaytaradi
}
addNumber(number) {
this.value += number;
return this; // this ni qaytaradi
}
build() {
return this.value; // Yakuniy natijani qaytaradi
}
}
const result = new Builder().addText("Hello").addNumber(123).build();
console.log(result); // "Hello123"