Menu
Coddy logo textTech

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ı: 1

Metot zincirlemenin anahtarı, zincirlenebilir olmasını istediğiniz her metottan this döndürmektir.

challenge icon

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.

Kendin 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ı
quiz iconKendini test et

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