Meydan okuma - Dize işlemleri
Dize metotları ve template literals ile bir metin biçimlendirme aracı yazarsın.
Metin biçimlendirme meydan okuması
Bu meydan okumada bir metin biçimlendirme fonksiyonu yazacaksın. Fonksiyon bir isim dizesi alır, başındaki boşlukları kırpar ve ilk harfini büyük yapar.
İşlem sırası: önce trim() ile boşlukları temizle, sonra slice(0, 1) ile ilk harfi al ve toUpperCase() uygula. Geri kalan harfler için slice(1) ve toLowerCase() kullan.
Sonuç bir template literal ile döndürülür: `Merhaba, ${first}${rest}!`. Bu yapı dize içine değişken gömmeyi kolaylaştırır.
Dize metotlarını zincirlemek
Dize metotları zincirlenebilir. name.trim().slice(0, 1).toUpperCase() üç metodu arka arkaya çağırır ve her biri bir sonrakine sonucunu geçirir.
slice(başlangıç, bitiş) başlangıç dahil, bitiş hariç olacak şekilde bir alt dize döndürür. slice(1) ise ilk harfi atıp kalanını verir.
Sonuçları birleştirmek için + operatörü yerine template literal kullanmak daha okunaklıdır: `Merhaba, ${first}${rest}!`. Burada ${} içine herhangi bir ifade yazılabilir.
Uygulama formatName fonksiyonunu yaz
formatName adında bir fonksiyon tanımla. name parametresi alsın. Önce trim() ile boşlukları temizle. İlk harfi slice(0, 1).toUpperCase() ile büyük yap; geri kalanı slice(1).toLowerCase() ile küçült. Sonucu `Merhaba, ${first}${rest}!` template literal'i ile döndür.
Örnek çözümü göster
Önce name.trim() çağır. İlk harfi slice(0, 1).toUpperCase() ile, geri kalanı slice(1).toLowerCase() ile al. Sonucu template literal içinde birleştir.
Örnek çözüm:
function formatName(name) {
const trimmed = name.trim();
const first = trimmed.slice(0, 1).toUpperCase();
const rest = trimmed.slice(1).toLowerCase();
return `Merhaba, ${first}${rest}!`;
}
Kendini test et
-
"javascript".slice(0, 4) ifadesi ne döner?
"javascript".slice(0, 4);- "script"
- "jav"
- "javascript"
- "java"
Cevabı göster
"java" — Doğru. slice(0, 4) 0, 1, 2 ve 3 indekslerini alır; sonuç "java" olur.
-
Template literal içine değişken göm
const greeting = `Merhaba, ${____}!`;Cevabı göster
const greeting = `Merhaba, ${name}!`;