Rest parametresi
...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
-
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.
-
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; } -
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