JavaScript’te “Template Literals” Kullanımı

JavaScript’te “string” oluşturma yöntemlerinden biri olan “template literals”, ES6’nın sunduğu yeniliklerden biri olup, kodun daha okunabilir ve sade bir şekilde yazılmasını sağlayan modern bir yöntemdir.

“Template Literals”

“String” birleştirmek, formatlamak veya dinamik değerler eklemek JavaScript’te sıkça karşılaşılan ihtiyaçlardan biridir. ES6 (ECMAScript 2015) ile birlikte, bu tür işlemleri daha okunabilir ve esnek bir şekilde yapmamızı sağlayan “template literals” özelliği tanıtılmıştır.

“Template literals”, geriye dönük tırnak işareti olarak adlandırılan backtick `` ile tanımlanır ve genel olarak aşağıdaki işlemleri yapmamızı sağlar:

  • Çok satırlı stringler
  • İnterpolasyon
  • Tagged template literals

Çok Satırlı Stringler

Geleneksel stringlerle çoklu satır oluşturmak için birkaç yöntem vardır, ancak bu yöntemler genellikle karmaşık ve okunması zordur. “Template literals” ile çoklu satır stringleri doğrudan oluşturabiliriz:

let metin = `
Bu bir
çoklu satır
metindir.
`;
console.log(metin);

İnterpolasyon

“Template literals” içerisinde, matematiksel hesaplamalar, fonksiyon çağrıları ve hatta diğer template literals dahil olmak üzere her türlü JavaScript ifadesi kullanabiliriz:

let fiyat = 19.99;
let vergiOrani = 0.18;
let toplamFiyat = `Toplam Fiyat: ${fiyat * (1 + vergiOrani)} TL`;
console.log(toplamFiyat);  // Çıktı: "Toplam Fiyat: 23.5882 TL"

Tagged Template Literals

“Tagged template literals”, template stringlerin işlenme şeklini özelleştirmek için kullanılır. Bir template literal’i işleyen fonksiyona “tag function” denir. Bu fonksiyon, template literal’in içeriğini alır ve istediğiniz herhangi bir işlemi uygulayarak sonuç döndürebilir.

Verilen bir stringin belli bir uzunluğu aşmaması gerektiğini ve aştığı durumda sonuna “…” eklemek istediğimiz bir senaryo düşünelim. Bakınız:

function kisalt(strings, ...values) {
  let sonuc = strings[0];
  let deger = values[0];

  if (deger.length > 10) {
    deger = deger.slice(0, 10) + "...";
  }
  
  sonuc += deger + strings[1];
  return sonuc;
}

let uzunMetin = "Bu metin çok uzun ve kısaltılmaya ihtiyaç duyuyor.";
let mesaj = kisalt`Metin: ${uzunMetin}`;
console.log(mesaj);  // "Metin: Bu metin çok..."

Yukarıdaki örnekte kisalt adında bir “tag function” oluşturduk. Bu fonksiyon, gömülü değeri kontrol eder ve eğer bu değer 10 karakterden uzunsa, ilk 10 karakterini alıp sonuna “…” ekler.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu