CodeBlanks Logo Icon CodeBlanks

Template literal nedir?

Tür seviyesinde şablon dize oluşturmayı öğrenirsin.

Template literal type nedir?

Bir template literal type, backtick (`) ve ${} sözdizimiyle tür seviyesinde şablon dize oluşturur. İçine başka türler yerleştirilebilir; örneğin ${string} ile sonuna herhangi bir dize gelebilen bir tür tanımlarsın. Bu, string literal türlerini daha esnek hale getirir ve sabit ön eki zorunlu kılan türler yazmanı sağlar.

type Selam = `Merhaba ${string}`;
const x: Selam = "Merhaba dünya";

Generic ile şablon tür

Bir template literal type'ı generic yapabilirsin. Tür parametresi ${T} içine yerleştirilir ve çağrıldığı türle birleşip sabit bir dize türü üretir. Bu, ön ek ve son ek zorunlu olan türleri zarif biçimde tanımlamanın yoludur. T'nin string ile kısıtlanması yaygındır.

type OnEkli<T extends string> = `pre_${T}`;
type X = OnEkli<"test">;  // "pre_test"

Uygulama SelamX şablon türü yaz

SelamX adında bir template literal type tanımla: `Merhaba ${string}`. y değişkeni SelamX türünde ve değeri "Merhaba dünya" olsun. y değerini console.log ile yazdır.

Başlangıç kodu

index.ts
// SelamX adinda template literal tur tanimla
// "Merhaba " ve string birlestirsin
// y degiskenini tanimla
// y degerini yazdir

Örnek çözüm

index.ts
type SelamX = `Merhaba ${string}`;
const y: SelamX = "Merhaba dünya";
console.log(y);

Beklenen çıktı

Merhaba dünya

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir template literal type hangi sözdizimiyle yazılır?

  • Metin<T>
  • 'Metin'.concat(T)
  • `Metin ${T}` Doğru cevap
  • "Metin" + T

Açıklama: Template literal type, backtick ve ${} ile yazılır; çift tırnak veya artı operatörü ile değil.

2 Tür yer tutucusu

Soru
type Selam = `Merhaba ${____}`;
const x: Selam = "Merhaba dünya";
Cevap
type Selam = `Merhaba ${string}`;
const x: Selam = "Merhaba dünya";

Açıklama: Template literal type içinde ${} içine bir tür yerleştirilir; herhangi bir dize kabul etmek için string kullanılır.

3 Template literal kavramları

Kavram Anlamı
`... Şablon dize sözdizimi
${T} Tür yer tutucusu
backtick Şablon sınırlayıcı
string Herhangi dize türü

İleri seviye bölümündeki tüm dersler