Sobes.tech
Junior

Şablon literalleri nedir ve ne amaçla kullanılırlar?

sobes.tech yapay zeka

AI'dan gelen yanıt

Şablon dizeleri (template literals), aynı zamanda şablon dizgeleri olarak da bilinen, JavaScript'te sözdizimi şekeri olan ve ters tırnak işaretleri (``) kullanarak ifadeleri dizelere gömmenize olanak tanıyan bir sözdizimi şekeridir.

Kullanım alanları:

  1. Değişkenlerin ve ifadelerin dizelere daha uygun şekilde gömülmesi:

    const name = "Dünya";
    const greeting = `Merhaba, ${name}!`; // Değişken gömme
    console.log(greeting); // Merhaba, Dünya!
    
    const sum = 2 + 3;
    const result = `Toplam: ${sum}.`; // İfade gömme
    console.log(result); // Toplam: 5.
    
  2. Satır sonu karakteri (\n) kullanmadan çok satırlı dizeler oluşturma:

    const multilineString = `
    Bu
    çok satırlı
    bir dizgedir.
    `;
    console.log(multilineString);
    
  3. Dosya yolları veya SQL sorguları gibi karmaşık dizge ifadelerinin daha okunabilir şekilde oluşturulması:

    const userId = 123;
    const query = `SELECT * FROM users WHERE id = ${userId}`;
    console.log(query);
    
  4. İşlevselliği genişleten etiketli şablonların kullanımı: Etiketli şablonlar, bir fonksiyonu şablon dizisi ile çağırmaya olanak tanır. Fonksiyonun ilk argümanı, dizge parçalarının bir dizisidir ve sonraki argümanlar gömülü ifadelerin değerleridir.

    function highlight(strings, ...values) {
      let str = '';
      strings.forEach((string, i) => {
        str += string;
        if (values[i]) {
          str += `<b>${values[i]}</b>`; // Örneğin, kalın yapma
        }
      });
      return str;
    }
    
    const user = "Frontend";
    const role = "geliştirici";
    const message = highlight`Merhaba, ${user}! Sen bir ${role}.`;
    console.log(message); // Merhaba, <b>Frontend</b>! Sen bir <b>geliştirici</b>.
    

Bu şekilde, şablon dizeleri JavaScript'te dizelerle çalışma işini daha esnek, anlaşılır hale getirir ve + operatörüyle dizeleri birleştirmeyle ilgili karmaşıklıklardan kaçınmanıza olanak tanır.