Menu
Coddy logo textTech

Rest Parametrelerini Tiplendirme

Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 27 / 73.

TypeScript, tip güvenliğini korurken bu senaryoyu zarif bir şekilde ele almak için rest parametreleri sunar.

Rest parametreleri, yayılma operatörünü (...) ve ardından bir parametre adını ve tiplendirilmiş bir diziyi kullanır. Bu, kalan tüm argümanları tek bir dizi parametresinde toplar:

function sum(...numbers: number[]): number {
  let total = 0;
  for (const num of numbers) {
    total += num;
  }
  return total;
}

// Herhangi bir sayıda argümanla çağrılabilir
sum(1, 2);           // 3
sum(1, 2, 3, 4, 5);  // 15

Rest parametresi her zaman fonksiyon imzasındaki son parametre olmalıdır. TypeScript, rest parametresine geçirilen tüm argümanların belirtilen dizi türüyle eşleşmesini sağlayarak, size statik tiplemenin güvenliğiyle birlikte değişken argümanların esnekliğini sunar.

challenge icon

Görev

Kolay

Herhangi bir sayıda sayısal argümanı kabul etmek için rest parametrelerini kullanan ve bunların toplamını bir number olarak döndüren sumAll adında bir fonksiyon oluşturun. Fonksiyonun açık bir dönüş türü ek açıklaması (return type annotation) olmalıdır.

Herhangi bir sayıda sayısal argümanı kabul etmek için rest parametrelerini kullanan ve aralarındaki en büyük değeri bir number olarak döndüren findMaximum adında başka bir fonksiyon oluşturun. Fonksiyonun açık bir dönüş türü ek açıklaması olmalıdır.

string türünde zorunlu bir separator parametresi alan ve ardından herhangi bir sayıda dize (string) argümanını kabul eden rest parametrelerine sahip concatenateStrings adında üçüncü bir fonksiyon oluşturun. Fonksiyon, tüm dize argümanlarını aralarına ayırıcıyı (separator) koyarak birleştirilmiş halde döndürmelidir. Fonksiyonun açık bir string dönüş türü ek açıklaması olmalıdır.

Fonksiyonlarınızı aşağıdaki değerlerle çağırarak ve sonuçları yazdırarak test edin:

  • sumAll fonksiyonunu 5, 10 ve 15 ile çağırın
  • sumAll fonksiyonunu 1, 2, 3, 4 ve 5 ile çağırın
  • findMaximum fonksiyonunu 8, 3, 12 ve 7 ile çağırın
  • findMaximum fonksiyonunu 25 ve 18 ile çağırın
  • concatenateStrings fonksiyonunu ayırıcı olarak "-" ve "apple", "banana", "cherry" ile çağırın
  • concatenateStrings fonksiyonunu ayırıcı olarak " | " ve "red", "green", "blue", "yellow" ile çağırın

Her bir sonucu yukarıda belirtilen sırayla ayrı bir satıra yazdırın.

Kendin dene

// TODO: Kodunuzu buraya yazın

// Rest parametreleri ile sumAll fonksiyonunu oluşturun


// Rest parametreleri ile findMaximum fonksiyonunu oluşturun


// Ayırıcı ve rest parametreleri ile concatenateStrings fonksiyonunu oluşturun


// Fonksiyonları test edin ve sonuçları yazdırın
console.log(sumAll(5, 10, 15));
console.log(sumAll(1, 2, 3, 4, 5));
console.log(findMaximum(8, 3, 12, 7));
console.log(findMaximum(25, 18));
console.log(concatenateStrings("-", "apple", "banana", "cherry"));
console.log(concatenateStrings(" | ", "red", "green", "blue", "yellow"));
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

TypeScript'e Giriş bölümündeki tüm dersler