ES6 template stringlar


ULASHISH

Shablon stringlar

Shablon stringlar bir necha qatorga cho‘ziladigan va ichiga ifodalar joylangan stringlarni yozish imkonini beradi:

Misol

Oldin:

const name = "John";
const age = 30;
const message = "Hello, " + name + "!\n" + 
"You are " + age + " years old.";

O‘zingiz sinab ko‘ring »

Misol

Shablon stringlar bilan:

const name = "John";
const age = 30;
const message = `Hello, ${name}!
You are ${age} years old.`;

O‘zingiz sinab ko‘ring »

Shablon stringlar tirnoq o‘rniga teskari tirnoqlardan (`) foydalanadi va quyidagilarni o‘z ichiga olishi mumkin:

  • \nsiz bir nechta qator
  • ${} ichidagi ifodalar
  • Qochmasdan iqtiboslar

Misol

Ko‘p qatorli stringlar:

const html = `
  <div>
    <h1>Title</h1>
    <p>Paragraph</p>
  </div>
`;

O‘zingiz sinab ko‘ring »

Eslatma: Ko‘p qatorli stringlardagi chekinish stringning bir qismiga aylanadi.

Misol

Chekinish stringning bir qismiga aylanadi:

const x = `
  John:
    Hello, how are you?
  Jane:
    I'm fine, thanks!
`;

O‘zingiz sinab ko‘ring »



Ifodaning interpolatsiyasi

Shablon stringiga ${} ichida istalgan yaroqli JavaScript ifodasini kiritishingiz mumkin:

Misol

Shablon stringlar ichiga o‘zgaruvchilarni joylang:

let firstName = "John";
let lastName = "Doe";

let text = `Welcome ${firstName}, ${lastName}!`;

O‘zingiz sinab ko‘ring »

Misol

Shablon stringlar ichiga ifodalarni joylang:

let price = 10;
let quantity = 5;

let total = `Total: ${price * quantity}`;

O‘zingiz sinab ko‘ring »

Misol

Shablon stringlar ichida map funksiyasidan foydalanish:

const items = ["apple", "banana", "orange"];
const list = `You have ${items.length} items:
${items.map(item => `- ${item}`).join('\n')}`;

O‘zingiz sinab ko‘ring »

Misol

Shablon stringlar ichida ternary operatoridan foydalanish:

const isAdmin = true;
const message = `Status: ${isAdmin ? 'Admin' : 'User'}`;

O‘zingiz sinab ko‘ring »


Belgilangan shablonlar

Natijani o‘zgartirish uchun shablon stringlarni funksiya (u tag deb ataladi) bilan ham ishlatishingiz mumkin.

Eslatma: Belgilangan andozalar kengaytirilgan xususiyatdir. Aksariyat hollarda sizga kerak bo‘lmasligi mumkin.

Funksiya matn va ifoda(lar)ni argument sifatida qabul qiladi.

Quyidagi misolga qarang:

Misol

Belgilangan shablon:

function highlight(strings, fname) {
  let x = fname.toUpperCase();
  return strings[0] + x + strings[1];
}

let name = "John";

let text = highlight`Hello ${name}, how are you?`;

O‘zingiz sinab ko‘ring »

Misol tushuntirildi

Funksiya nomi highlight , siz uni xohlaganingizcha nomlashingiz mumkin.

Birinchi argument iboralar orasidagi matnni massiv sifatida ushlab turadi. Massiv elementlari ifodaga bo‘linadi. Ushbu misolda strings[0] "Salom" ni va strings[1] "qalaysiz?" ni ushlab turadi.

Ikkinchi dalil iboralarni o‘z ichiga oladi. Ushbu misolda fname "Jon" ni o‘z ichiga oladi.

Funksiya ichida siz yakuniy stringni yaratish uchun argumentlardan foydalanishingiz va uni qaytarishingiz mumkin.

Eslatma: Agar shablon stringida bir nechta ifodalar bo‘lsa, matn birinchi argumentda saqlanib qoladi, lekin ifodalar bir nechta argumentda yoki ikkinchi argumentda massiv sifatida saqlanadi.

Misol

Bir nechta iboralar bilan teglangan shablon:

function highlight(strings, fname1, fname2) {
  let x = fname1.toUpperCase();
  let y = fname2.toUpperCase();
  return strings[0] + x + strings[1] + y + strings[2];
}

let name1 = "John";
let name2 = "Jane";

let text = highlight`Hello ${name1} and ${name2}, how are you?`;

O‘zingiz sinab ko‘ring »

Misol

Rest parametri yordamida massivda saqlanadigan bir nechta ifodalar bilan teglangan shablon:

function highlight(strings, ...fname) {
  let x = fname[0].toUpperCase();
  let y = fname[1].toUpperCase();
  return strings[0] + x + strings[1] + y + strings[2];
}

let name1 = "John";
let name2 = "Jane";

let text = highlight`Hello ${name1} and ${name2}, how are you?`;

O‘zingiz sinab ko‘ring »



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!