Metot zincirleme deseni
Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 16 / 56.
Metot zincirleme, aynı nesne üzerinde tek bir ifadede birden fazla metodu çağırmanıza olanak tanıyan bir programlama desenidir. Her metot nesnenin kendisini (this) döndürür, bu da aynı satırda bir sonraki metodu çağırmanıza olanak sağlar.
Basit bir sayaç nesnesi oluşturun:
const counter = {
count: 0,
increment() {
this.count++;
return this;
},
decrement() {
this.count--;
return this;
},
getValue() {
return this.count;
}
};Artık metotları birbirine zincirleyebilirsiniz:
// Birden fazla işlemi zincirleme
counter.increment().increment().decrement();
// Sayaç şu anda 1
console.log(counter.getValue()); // Çıktı: 1Metot zincirlemenin anahtarı, zincirlenebilir olmasını istediğiniz her metottan this döndürmektir.
Görev
Size halihazırda add() ve subtract() metotlarına sahip bir calculator nesnesi verilmiştir. Göreviniz, zincirlemeyi (chaining) etkinleştirmek için this döndüren multiply ve divide metotlarını eklemektir.
Kopya kağıdı
Metot zincirleme (method chaining), aynı nesne üzerinde tek bir ifade içinde birden fazla metot çağırmanıza olanak tanır. Her metot nesnenin kendisini (this) döndürür, bu da bir sonraki metodun aynı satırda çağrılabilmesini sağlar.
Metot zincirlemeyi etkinleştirmek için her metottan this değerini döndürün:
const counter = {
count: 0,
increment() {
this.count++;
return this;
},
decrement() {
this.count--;
return this;
},
getValue() {
return this.count;
}
};Birden fazla metodu birbirine zincirleyin:
counter.increment().increment().decrement();
console.log(counter.getValue()); // Output: 1Kendin dene
import { calculator } from './calculator.js';
// Test kodu - değiştirmeyin
const result1 = calculator.add(10).multiply(2).getValue();
console.log(result1); // Çıktı 20 olmalı
// İkinci test için sıfırla
calculator.value = 0;
const result2 = calculator.add(20).divide(4).subtract(1).getValue();
console.log(result2); // Çıktı 4 olmalıBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Nesneler ve this Anahtar Kelimesi
Hızlı Tekrar: NesnelerNesnelere Metot Eklemethis Anahtar Kelimesini AnlamakYapıcı Fonksiyonlarnew Anahtar KelimesiGenel Tekrar Uygulaması7Kalıtım ve extends Anahtar Kelimesi
Kalıtım"is-a" İlişkisiextends Anahtar Kelimesisuper() MetoduÖzellikleri ve Metotları DevralmaÖzet Meydan Okuması2Kodu Düzenleme
Modüller Nedir?export ile Dışa Aktarmaimport ile İçe AktarmaVarsayılan ve Adlandırılmış Dışa Aktarmalar8OOP Kodunu Düzenleme
Sınıfları Modüller Halinde Düzenleme6Proje: Basit Bir Banka Hesabı
BankAccount SınıfıPara Yatırma ve Para Çekme9Statik Metotlar ve Özellikler
Sınıf Düzeyi ve Örnek DüzeyiStatik ÖzelliklerStatik Yardımcı MetotlarÖzet Meydan Okuma12Getter ve Setter'lar
get ve set Anahtar KelimeleriHesaplanmış ÖzelliklerDoğrulama ve Yan EtkilerÖzet Meydan Okuması15Final Meydan Okumaları
Oyun Karakteri OluşturucuE-ticaret Ürün SistemiÜniversite Yönetim SistemiAkıllı Ev Cihaz Sistemi