0Pricing
JavaScript Academy · Ders

Etiketli Şablonların Pratik Kullanım Alanları

Etiketlerle güvenli HTML ve stillendirilmiş dizeler oluşturun.

Etiketli Şablonların Pratik Kullanım Alanları, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 4 dersten oluşur.

Gerçek Yaşam Etiketleri

Etiketli şablonlar birçok kütüphaneye güç verir: HTML kaçışlama, biçimlendirilmiş bileşenler, GraphQL sorguları ve uluslararasılaştırma. Ortak fikir, araya yerleştirilen değerleri güvenli bir şekilde işlemek üzere yakalamaktır.

function tag(s, ...v) { return s[0] + v[0] + s[1] }
console.log(tag(["<", ">"], "b"))

Kaçışlama Sorunu

Kullanıcı girdisinden HTML oluşturduğunuzda, küçüktür işareti gibi özel karakterler işaretleme kodu eklenmesine neden olabilir. Bir etiket işlevi, yalnızca araya yerleştirilen değerlerdeki bu karakterleri otomatik olarak kaçışlayabilir.

const danger = "<script>"
console.log("raw: " + danger)

Bir Kaçışlama Yardımcısı

Önce tehlikeli karakterleri güvenli HTML varlıklarıyla değiştiren bir yardımcı tanımlarız.

function escapeHtml(str) {
  return String(str)
    .replace(/&/g, "&amp;")
    .replace(/</g, "&lt;")
    .replace(/>/g, "&gt;")
}
console.log(escapeHtml("<b>"))

Güvenli HTML Etiketi

Şimdi, her araya yerleştirilen değeri kaçışlayan ancak sabit şablon bölümlerini olduğu gibi bırakan bir etiket oluşturuyoruz; çünkü bu bölümler güvenilir geliştiriciden gelir.

function escapeHtml(str) {
  return String(str).replace(/</g, "&lt;").replace(/>/g, "&gt;")
}
function safe(strings, ...values) {
  let out = ""
  strings.forEach(function (s, i) {
    out += s + (values[i] !== undefined ? escapeHtml(values[i]) : "")
  })
  return out
}
console.log(safe(["<p>", "</p>"], "<script>"))

Sabit Bölümler Neden raw Kalır

Güvenilmeyen kullanıcı verisi yalnızca araya yerleştirilen değerlerdir. Değişmez şablon bölümleri geliştirici tarafından yazıldığından, amaçlanan işaretlemenin çalışmaya devam etmesi için kaçışlanmadan bırakılır.

function safe(strings, ...values) {
  let out = ""
  strings.forEach(function (s, i) {
    const safer = values[i] !== undefined ? String(values[i]).replace(/</g, "&lt;") : ""
    out += s + safer
  })
  return out
}
console.log(safe(["<b>", "</b>"], "<i>x</i>"))

Biçimlendirilmiş Çıktı Etiketi

Başka bir kalıp, araya yerleştirilen değerleri biçimlendirme işaretleriyle çevreler; örneğin bir rapordaki sayıları vurgulamak için kullanılabilir.

function money(strings, ...values) {
  let out = ""
  strings.forEach(function (s, i) {
    out += s + (values[i] !== undefined ? "$" + Number(values[i]).toFixed(2) : "")
  })
  return out
}
console.log(money(["Total: ", ""], 9.5))

Sorgu Dizeleri Oluşturma

Etiketler, URL'ler için değerleri kodlayabilir ve her araya yerleştirilen parçayı kaçışlayabilir. Böylece sabit yapı korunurken veriler güvenli bir şekilde kodlanır.

function url(strings, ...values) {
  let out = ""
  strings.forEach(function (s, i) {
    out += s + (values[i] !== undefined ? encodeURIComponent(values[i]) : "")
  })
  return out
}
console.log(url(["/search?q=", ""], "a b&c"))

Çoğullaştırma

Bir etiket, bir değeri inceleyip çevresindeki metni değiştirebilir; örneğin tekil veya çoğul ifadeyi seçebilir.

function plural(strings, count) {
  const noun = count === 1 ? "item" : "items"
  return strings[0] + count + " " + noun
}
console.log(plural(["You have "], 1))
console.log(plural(["You have "], 3))

Girintiyi Kırpma

Etiketler, her satırın başındaki girintiyi kaldırarak birden çok satırlı şablonları temizleyebilir ve düzenli bir çıktı oluşturabilir.

function dedent(strings) {
  return strings[0].split("\n").map(function (l) { return l.trim() }).join("\n")
}
console.log(dedent(["  a\n  b\n  c"]))

Etiketleri Birleştirme

Bir etiketin yardımcıları çağırmasını sağlayarak davranışları katmanlandırabilirsiniz. Burada etiket, değerleri hem çevreler hem de vurgular.

function emph(strings, ...values) {
  let out = ""
  strings.forEach(function (s, i) {
    const v = values[i] !== undefined ? "**" + values[i] + "**" : ""
    out += s + v
  })
  return out
}
console.log(emph(["Note: ", "!"], "important"))

Etiketler Ne Zaman Kullanılmamalı

Basit dizeler için yalın bir şablon değişmezi yeterlidir. Etiket işlevini yalnızca kaçışlama veya yerelleştirme gibi, araya yerleştirilen değerlerde tutarlı bir dönüşüme ihtiyaç duyduğunuzda kullanın.

const name = "Lee"
console.log("Welcome, " + name)

Hızlı Kontrol

Uygulamalı etiket bilginizi sınayın.

Özet

Özet: Etiketli şablonlar güvenli ve biçimlendirilmiş çıktı oluşturmayı sağlar.

  • HTML güvenliği için yalnızca araya yerleştirilen değerleri kaçışlayın
  • Sabit bölümler güvenilir ve ham kalır
  • Biçimlendirme, kodlama ve çoğullaştırma için etiketleri kullanın
  • Dönüşüm gerekmiyorsa yalın değişmezleri tercih edin
function safe(s, v) { return s[0] + String(v).replace(/</g, "&lt;") }
console.log(safe(["x="], "<a>"))

Sıkça Sorulan Sorular

“Etiketli Şablonların Pratik Kullanım Alanları” dersi ücretsiz mi?

Evet — “Etiketli Şablonların Pratik Kullanım Alanları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 4 dersten oluşur.

“Etiketli Şablonların Pratik Kullanım Alanları” dersinde ne öğreneceğim?

Etiketlerle güvenli HTML ve stillendirilmiş dizeler oluşturun. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Etiketli Şablonların Pratik Kullanım Alanları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Dize Aradeğiştirme Temelleri
  2. Çok Satırlı Dizeler
  3. Etiketli Şablon İşlevleri
  4. Etiketli Şablonların Pratik Kullanım Alanları
← JavaScript Academy Sayfasına Dön