Modül dersleri (3/4)
Varsayılan ve dinlenme parametreleri
JavaScript, parametreleri isteğe bağlı (varsayılan değerle) yapmanıza olanak tanır
ve dinlenme operatörüyle (...) değişken sayıda bağımsız değişkeni kabul edin.
Varsayılan parametreler
function saluta(nome, prefisso = 'Ciao') {
return `${prefisso}, ${nome}!`;
}
saluta('Anna'); // 'Ciao, Anna!'
saluta('Marco', 'Buongiorno'); // 'Buongiorno, Marco!'Varsayılan yalnızca bağımsız değişken undefined ("geçmedi" durumu dahil) olduğunda geçerlidir.
null veya 0 için varsayılan değer değildir:
function f(x = 10) {
return x;
}
f(); // 10
f(undefined); // 10
f(null); // null
f(0); // 0Dinlenme: ...names
Değişken sayıda argümanı kabul etmek için bunları ... ile bir dizide toplayın:
function somma(...numeri) {
let totale = 0;
for (const n of numeri) totale += n;
return totale;
}
somma(); // 0
somma(5); // 5
somma(1, 2, 3, 4); // 10Fonksiyonun içinde, numeri gerçek bir dizidir (eski fonksiyonların sihirli arguments nesnesi değildir).
Gerisi son parametre olmalıdır:
function f(primo, ...altri) {
/* ok */
}
// function f(...altri, ultimo) {} // SyntaxErrorGörüşme sırasında yayılma
...'un diğer yüzü, çağrı zamanında bir diziyi ayrı argümanlara "patlayan" spread operatörüdür:
function somma(a, b, c) {
return a + b + c;
}
const nums = [1, 2, 3];
somma(...nums); // 6, equivalent to somma(1, 2, 3)Deneyin
'b'nin varsayılan değeri 0 olan bir 'toplam(a, b)' işlevi tanımlayın. Şu iddiaları geçmelidir: toplam(5) === 5, toplam(2, 3) === 5, toplam(0) === 0.
İpucu göster
function toplam(a, b = 0) { return a + b; }
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
Bağımsız değişkenlerinin aritmetik ortalamasını veya hiçbiri iletilmezse 0'ı döndüren bir 'mean(...nums)' işlevi tanımlayın.
İpucu göster
Sayı.uzunluk 0 ise 0 değerini döndürün; aksi halde topla ve böl.
3 denemeden sonra çözüm mevcut