CodeBlanks Logo Icon CodeBlanks

Rest parametresi

JavaScript kursu · Başlangıç · Ders 83/133

...args ile sınırsız argüman toplamayı ve bir dizi olarak almayı öğrenirsin.

Rest parametresi

Bazen bir fonksiyona kaç argüman geleceğini önceden bilemezsin. Rest parametresi bu durumu çözer: parametre adının önüne ... koyarsın ve tüm kalan argümanlar bir dizi olarak toplanır.

Örnek: function sum(...nums) { return nums; }. Burada nums bir dizidir. sum(1, 2, 3) çağrısında nums [1, 2, 3] olur. sum() çağrısında ise nums boş dizi [] olur.

Rest bir dizidir

Rest parametresi her zaman gerçek bir dizi olur. Bu nedenle forEach, map, reduce gibi tüm dizi metodlarını doğrudan kullanabilirsin.

Örnek: function sum(...nums) { return nums.reduce((a, b) => a + b, 0); }. Burada nums bir dizi olduğundan reduce çağrılabilir. Bu, eski arguments nesnesine göre büyük bir avantajdır; onu bir sonraki derste göreceksin.

Uygulama Sayıları topla

sum adında bir fonksiyon tanımla. ...nums rest parametresi alsın. Gövdede let total = 0 ile bir toplam değişkeni başlat. for (let n of nums) ile diziyi dolaş ve her elemanı total += n şeklinde ekle. Sonra return total ile toplamı döndür.

Örnek çözümü göster
function sum(...nums) {
  let total = 0;
  for (let n of nums) {
    total += n;
  }
  return total;
}

Kendini test et

  1. sum(...nums) çağrısında nums nedir? (sum(4, 5, 6))

    function sum(...nums) {
      return nums;
    }
    sum(4, 5, 6);
    • Tek bir sayı: 4
    • Bir dize: "4,5,6"
    • Tüm argümanları içeren bir dizi: [4, 5, 6]
    • undefined
    Cevabı göster

    Tüm argümanları içeren bir dizi: [4, 5, 6] — Doğru. Rest parametresi tüm argümanları bir dizi olarak toplar.

  2. Rest parametresini ekle

    function sum(
      ____
    ) {
      let total = 0;
      for (let n of nums) {
        total += n;
      }
      return total;
    }
    Cevabı göster
    function sum(
      ...nums
    ) {
      let total = 0;
      for (let n of nums) {
        total += n;
      }
      return total;
    }
  3. Rest parametresi özellikleri

    ...nums
    Rest parametresi
    nums
    Dizi adı
    for (let n of nums)
    Dizi üzerinde döngü
    return total
    Toplamı döndürür

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