CodeBlanks Logo Icon CodeBlanks

Metot ekleme

JavaScript kursu · İleri seviye · Ders 21/100

Sınıfa ekleme, çıkarma ve arama metotlarını eklersin.

Sınıfa metot ekleme

İç durumu hazırladık; şimdi davranış ekleyelim. Bir metot, sınıf gövdesinde tanımlanan fonksiyondur ve this üzerinden örneğin verisine erişir.

Üç temel metot yazacağız: add bir öğeyi diziye ekler, remove ilk eşleşeni çıkarır, find bir koşula uyan ilk öğeyi döndürür. Her biri this.items üzerinde çalışır.

Metot zinciri

Bir metot this döndürürse, çağrıları ardışık bağlayabiliriz. Buna metot zinciri denir. Örneğin list.add("a").add("b") yazmak iki öğeyi peş peşe ekler.

Bunun için add ve remove sonunda return this yazmalıyız. find ise bulunan öğeyi döndürdüğü için zincirde yer almaz; sonuç olarak öğeyi verir.

Uygulama add, remove ve find metotlarını ekle

Sınıfa üç metot ekle: add(item) öğeyi diziye ekleyip this döndürsün; remove(item) ilk eşleşeni çıkarıp this döndürsün; find(callback) koşula uyan ilk öğeyi döndürsün.

Örnek çözümü göster
add metodu push ile öğeyi ekler ve this döndürür. remove, indexOf ile bulup splice ile çıkarır ve this döndürür. find, bir döngüyle callback'i her öğe için çağırır ve true döndüren ilk öğeyi verir.

Örnek çözüm:
// Yardımcı kütüphane
class Collection {
  constructor() {
    this.items = [];
  }
  add(item) {
    this.items.push(item);
    return this;
  }
  remove(item) {
    const index = this.items.indexOf(item);
    if (index !== -1) {
      this.items.splice(index, 1);
    }
    return this;
  }
  find(callback) {
    for (const item of this.items) {
      if (callback(item)) {
        return item;
      }
    }
    return undefined;
  }
}

Kendini test et

  1. Metot zinciri (chaining) için ne gerekir?

    • Metot this döndürmeli
    • Metot undefined döndürmeli
    • Metot static olmalı
    • Metot async olmalı
    Cevabı göster

    Metot this döndürmeli — Doğru! this döndüren metotlar ardışık çağrılabilir.

  2. add gövdesinde öğeyi ekle

        this.items.____;
    Cevabı göster
        this.items.push(item);
  3. Metotları göreviyle eşleştir

    add
    öğe ekler
    remove
    öğe çıkarır
    find
    ilk eşleşmeyi döndürür
    return this
    zincir kurar

İleri seviye bölümündeki tüm dersler