'?' ile Opsiyonel Parametreler
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası. Ders 25 / 73.
Bazen belirli parametrelerin her zaman gerekli olmadığı fonksiyonlar oluşturmak istersiniz. TypeScript, parametreleri isteğe bağlı olarak işaretlemek için ? söz dizimini sağlar; bu da çağıranların fonksiyonu çağırırken bu parametreleri sağlayıp sağlamamayı seçebileceği anlamına gelir.
Bir parametreyi isteğe bağlı hale getirmek için, parametre adından sonra ancak tür belirtecinden önce bir soru işareti eklersiniz:
function greet(name: string, greeting?: string): string {
if (greeting) {
return greeting + ", " + name;
}
return "Hello, " + name;
}Bu örnekte, name zorunluyken greeting isteğe bağlıdır. Bu fonksiyonu sadece isimle (greet("Alice")) veya her iki parametreyle birlikte (greet("Alice", "Good morning")) çağırabilirsiniz. Fonksiyonun içinde, isteğe bağlı parametreler string | undefined türüne sahiptir, bu yüzden onları kullanmadan önce var olup olmadıklarını kontrol etmelisiniz.
Görev
Kolaystring türünde username (zorunlu) ve string türünde displayName (isteğe bağlı) olmak üzere iki parametre alan createUserProfile adında bir fonksiyon oluşturun. Fonksiyon, açık bir dönüş türü anotasyonu ile bir dize (string) döndürmelidir.
Her iki parametre de sağlandığında, fonksiyon şunu döndürmelidir: "Profile: [displayName] (@[username])"
Yalnızca kullanıcı adı sağlandığında, fonksiyon şunu döndürmelidir: "Profile: @[username]"
number türünde price (zorunlu) ve string türünde membershipLevel (isteğe bağlı) olmak üzere iki parametre alan calculateDiscount adında başka bir fonksiyon oluşturun. Fonksiyon, açık bir dönüş türü anotasyonu ile bir sayı (number) döndürmelidir.
Her iki parametre de sağlandığında, fonksiyon fiyatın %10 indirilmiş halini (0.9 ile çarpılmış) döndürmelidir.
Yalnızca fiyat sağlandığında, fonksiyon orijinal fiyatı değiştirmeden döndürmelidir.
Fonksiyonlarınızı aşağıdaki değerlerle çağırarak ve sonuçları yazdırarak test edin:
createUserProfilefonksiyonunu"john_doe"ve"John Doe"ile çağırıncreateUserProfilefonksiyonunu yalnızca"jane_smith"ile çağırıncalculateDiscountfonksiyonunu100ve"premium"ile çağırıncalculateDiscountfonksiyonunu yalnızca75ile ç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
// Uygun tür açıklamalarıyla createUserProfile fonksiyonunu oluşturun
// Uygun tür açıklamalarıyla calculateDiscount 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ımlamaKendi başına pratik yap: Online JavaScript derleyicisi