Varsayılan Parametre Değerleri
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 26 / 73.
İsteğe bağlı parametreler bir değer sağlayıp sağlamayacağınızı seçmenize olanak tanırken, varsayılan parametreler herhangi bir argüman iletilmediğinde otomatik olarak bir yedek değer sağlayarak bu kavramı bir adım öteye taşır. Bu, tür güvenliğini korurken fonksiyonların kullanımını daha kolay hale getirir.
Varsayılan bir parametre oluşturmak için, eşittir işaretini kullanarak fonksiyon imzasında doğrudan bir değer atarsınız. TypeScript, parametrenin türünü varsayılan değerden otomatik olarak çıkarır:
function greet(name: string, greeting = "Hello"): string {
return greeting + ", " + name;
}
function calculateArea(width: number, height = 10): number {
return width * height;
}Bu örneklerde, greeting varsayılan olarak "Hello" (string olarak çıkarımlanır) ve height varsayılan olarak 10 (number olarak çıkarımlanır) değerini alır. greet("Alice") fonksiyonunu çağırdığınızda, otomatik olarak varsayılan selamlamayı kullanır, ancak yine de greet("Alice", "Good morning") ile bunu geçersiz kılabilirsiniz.
Varsayılan parametreler aslında isteğe bağlıdır - ? söz dizimini kullanmanıza gerek yoktur çünkü varsayılan değer, parametrenin her zaman bir değere sahip olmasını sağlar. Mantıklı bir varsayılan değeriniz olduğunda bu yaklaşım, isteğe bağlı parametrelerden daha temizdir; çünkü fonksiyonunuzun içinde undefined kontrolü yapma ihtiyacını ortadan kaldırır.
Görev
Kolayprice adında number tipinde (zorunlu) ve rate adında varsayılan değeri 0.05 olan number tipinde iki parametre alan calculateTax adında bir fonksiyon oluşturun. Fonksiyon, vergi miktarını açık bir dönüş tipi belirterek bir sayı olarak döndürmelidir.
Fonksiyon, fiyatı oranla çarparak vergiyi hesaplamalıdır.
name adında string tipinde (zorunlu) ve timeOfDay adında varsayılan değeri "Hello" olan string tipinde iki parametre alan formatGreeting adında başka bir fonksiyon oluşturun. Fonksiyon, açık bir dönüş tipi belirterek biçimlendirilmiş bir selamlama dizesi döndürmelidir.
Fonksiyon, selamlamayı şu formatta döndürmelidir: "[timeOfDay], [name]!"
weight adında number tipinde (zorunlu), distance adında number tipinde (zorunlu) ve expedited adında varsayılan değeri false olan boolean tipinde üç parametre alan calculateShipping adında üçüncü bir fonksiyon oluşturun. Fonksiyon, açık bir dönüş tipi belirterek nakliye maliyetini bir sayı olarak döndürmelidir.
Fonksiyon, nakliye maliyetini şu formülü kullanarak hesaplamalıdır: (weight * 0.5) + (distance * 0.1). Eğer expedited değeri true ise, sonucu 2 ile çarpın.
Fonksiyonlarınızı aşağıdaki değerlerle çağırarak ve sonuçları yazdırarak test edin:
calculateTaxfonksiyonunu100ile çağırın (varsayılan oranı kullanarak)calculateTaxfonksiyonunu200ve0.08ile çağırınformatGreetingfonksiyonunu"Alice"ile çağırın (varsayılan günün saatini kullanarak)formatGreetingfonksiyonunu"Bob"ve"Good morning"ile çağırıncalculateShippingfonksiyonunu5ve100ile çağırın (varsayılan hızlandırılmış değeri kullanarak)calculateShippingfonksiyonunu3,50vetrueile çağırın
Her bir sonucu yukarıda belirtilen sırayla ayrı bir satıra yazdırın.
Kendin dene
// YAPILACAK: Kodunuzu buraya yazın
// calculateTax fonksiyonunu oluşturun
// formatGreeting fonksiyonunu oluşturun
// calculateShipping fonksiyonunu oluşturun
// Fonksiyonları test edin ve sonuçları yazdırınBu 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
1TS ile Başlarken
TypeScript Nedir?Neden TypeScript Kullanılır?İlk TypeScript KodunuzDerleme Süreci ve HatalarÖzet: TS'ye Giriş4Fonksiyonlarla Çalışmak
Parametre ve Dönüş Değerlerini TiplendirmeArrow Fonksiyonlarını Tiplendirme'void' Dönüş Tipi'?' ile Opsiyonel ParametrelerVarsayılan Parametre DeğerleriRest Parametrelerini TiplendirmeFonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar Oluşturma2Temel Tipler
Temel Tipler: str, num, boolean'any' Tipi: Kaçış Yolu'unknown' Tipi'null' ve 'undef' ile ÇalışmakTip Çıkarımı İş BaşındaAçık Tip BelirlemeleriÖzet: Temel Tipler Pratiği5Tipler: Takma Adlar, Unionlar ve Kesişimler
İlkel Tipler için Tip Takma AdlarıUnion Tipler ('|')Union Tipler ile ÇalışmakLiteral TiplerKesişim Tipleri ('&')Tip Takma Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Veri Yapısı: Diziler ve Tuple
Tipli DizilerDiziler için 'readonly' BelirleyicisiTuple Nedir?Tuple Tanımlama ve ErişmeTuple DestructuringReadonly Tuple'larÇok Boyutlu Tipli DizilerDizilerle Spread OperatörüÖzet: Diziler ve Tuple'lar6Nesneleri ve Interface'leri Tiplendirme
Satır İçi Nesne Tipi BelirtimleriNesneler için Type Alias KullanımıInterface'lere GirişInterface'ler ve Type Alias'ların KarşılaştırılmasıOpsiyonel ve Readonly ÖzelliklerInterface ve Tipleri GenişletmeInterface'lere Metot EklemeÖzet: Nesne Yapılarını Tanımlama