Menu
Coddy logo textTech

'?' 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.

challenge icon

Görev

Kolay

string 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:

  • createUserProfile fonksiyonunu "john_doe" ve "John Doe" ile çağırın
  • createUserProfile fonksiyonunu yalnızca "jane_smith" ile çağırın
  • calculateDiscount fonksiyonunu 100 ve "premium" ile çağırın
  • calculateDiscount fonksiyonunu yalnızca 75 ile ç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ın
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

Kendi başına pratik yap: Online JavaScript derleyicisi