Rest params
- TypeScript kursu
- Başlangıç
- Ders 44/89
- 4 dk
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
// 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
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
function topla(____) { let t = 0; for (let s of sayilar) { t += s; } return t; }
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 |