CodeBlanks Logo Icon CodeBlanks

Rest params

Rest parametrelerle değişken sayıda argüman almayı öğrenirsin.

Rest params

Rest parametre, değişken sayıda argümanı tek bir diziye toplar. Parametre adından önce ... yazarsın. Rest parametre dizi türünde olmalı ve her zaman son parametre olmalıdır.

function topla(...sayilar: number[]): number {
  let t = 0;
  for (let s of sayilar) { t += s; }
  return t;
}

... ile istediğin kadar argüman geçebilirsin.

Rest parametre kuralları

Rest parametre her zaman fonksiyonun son parametresi olmalıdır; başka parametrelerden sonra gelir. Sıfır veya daha fazla argüman geçebilirsin. Fonksiyonun içinde rest parametre normal bir dizi gibi kullanılır.

function listele(baslik: string, ...ogeler: string[]): void {
  console.log(baslik);
  for (let o of ogeler) { console.log(o); }
}

Rest parametre, esnek sayıda argüman alan fonksiyonlar yazmayı sağlar.

Uygulama Rest parametreli fonksiyon yaz

topla adında bir fonksiyon tanımla; ...sayilar: number[] rest parametresi ve dönüş türü number olsun. Fonksiyon bir döngü ile tüm sayıları toplasın ve sonucu döndürsün. topla(1, 2, 3, 4) çağrısının sonucunu console.log ile yazdır.

Başlangıç kodu

index.ts
// topla adında bir fonksiyon tanımla
// ...sayilar rest parametresi number[], dönüş türü number olsun
// tüm sayıları döngü ile topla
// topla(1, 2, 3, 4) sonucunu yazdır

Örnek çözüm

index.ts
function topla(...sayilar: number[]): number {
    let t = 0;
    for (let s of sayilar) {
        t += s;
    }
    return t;
}
console.log(topla(1, 2, 3, 4));

Beklenen çıktı

10

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir fonksiyon parametresinde <code>...sayilar: number[]</code> ne yapar?

  • Parametreye varsayılan değer verir
  • Parametreyi isteğe bağlı yapar
  • Birden çok sayı argümanını tek diziye toplar Doğru cevap
  • Parametreyi readonly yapar

Açıklama: <code>...</code> rest operatörü, geçilen tüm sayı argümanlarını <code>sayilar</code> adlı tek bir diziye toplar; böylece fonksiyon değişken sayıda argüman alabilir.

2 Rest parametre söz dizimini tamamla

Soru
function topla(____) { let t = 0; for (let s of sayilar) { t += s; } return t; }
Cevap
function topla(...sayilar: number[]) { let t = 0; for (let s of sayilar) { t += s; } return t; }

Açıklama: Rest parametre için <code>...</code> operatörü parametre adından önce yazılır; <code>sayilar: number[]</code> işaret olmadan tek bir dizi argüman bekler, <code>*</code> ve sonda <code>...</code> geçersiz söz dizimidir.

3 Rest params kavramları

Kavram Anlamı
...sayilar: number[] Rest parametre (değişken sayıda argüman)
... (parametre önünde) Argümanları diziye toplar
Rest param Son parametre olmalıdır
topla(1, 2, 3) Üç argüman rest parametre ile toplanır

Başlangıç bölümündeki tüm dersler