Junior
Çağrı zincirinde bir metoda nasıl ulaşılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir nesne içindeki metod çağrılarını veya özellikleri arasında nokta (.) kullanın. Her metod çağrısı veya özellik erişimi, ardından gelen metod çağrısı veya özellik erişimi yapabileceğiniz bir nesne döndürür.
// Metod zinciri örneği
" abc ".trim().toUpperCase().split(" ");
/*
1. " abc ".trim() -> "abc"
2. "abc".toUpperCase() -> "ABC"
3. "ABC".split(" ") -> ["ABC"]
*/
// Özellik erişimi ile zincir örneği
const user = {
address: {
city: "Moskova"
}
};
user.address.city; // "Moskova"
// Opsiyonel zincirleme kullanımı (?.)
// Derin nesne özelliklerine güvenli erişim sağlar,
// ara özellikler null veya undefined ise hatayı önler.
user.address?.street; // undefined, hata yok
const anotherUser = {};
anotherUser.address?.city; // undefined, hata yok
Zincirleme destekleyen kendi metodlarınızı tasarlarken, her metod this döndürmelidir (mevcut nesneye referans). Zincirin son metod hariç, bu kural geçerlidir.
class Builder {
constructor() {
this.value = "";
}
addText(text) {
this.value += text;
return this; // this döndürür
}
addNumber(number) {
this.value += number;
return this; // this döndürür
}
build() {
return this.value; // Son sonucu döndürür
}
}
const result = new Builder().addText("Hello").addNumber(123).build();
console.log(result); // "Hello123"