Sobes.tech
Junior

Шаблондук литералдар эмне жана алар эмне үчүн колдонулат?

sobes.tech AI

AIден жооп

Тема тилдери (template literals), ошондой эле шаблондук саптар деп да аталат, JavaScriptте синтаксикалык шекер болуп саналат, ал артка кайтарылган такталары (``) аркылуу саптарга билдирүүлөрдү киргизүүгө мүмкүндүк берет.

Алар колдонулат:

  1. Өзгөрмөлөрдү жана билдирүүлөрдү саптарга ыңгайлуу киргизүү үчүн:

    const name = "Дүйнө";
    const greeting = `Салам, ${name}!`; // Өзгөрмөнү киргизүү
    console.log(greeting); // Салам, Дүйнө!
    
    const sum = 2 + 3;
    const result = `Жыйынтык: ${sum}.`; // Билдирүүнү киргизүү
    console.log(result); // Жыйынтык: 5.
    
  2. Көп саптуу саптарды түзүү үчүн, кайчылаш сызыгы белгисин (\n) колдонбостон:

    const multilineString = `
    Бул
    көп саптуу
    сап.
    `;
    console.log(multilineString);
    
  3. Файл жолдору же SQL суроолору сыяктуу татаал саптык билдирүүлөрдү түзүүдө, окуулуулук үчүн:

    const userId = 123;
    const query = `SELECT * FROM users WHERE id = ${userId}`;
    console.log(query);
    
  4. Белгиленген шаблондорду (tagged templates) кеңейтилген функциялар үчүн колдонуу: Белгиленген шаблондор функцияны шаблондук сап менен чакырууга мүмкүндүк берет. Функциянын биринчи аргументи — саптардын массиви, кийинки аргументтер — киргизилген билдирүүлөрдүн маанилери:

    function highlight(strings, ...values) {
      let str = '';
      strings.forEach((string, i) => {
        str += string;
        if (values[i]) {
          str += `<b>${values[i]}</b>`; // Мисалы, калын жазуу менен белгилөө
        }
      });
      return str;
    }
    
    const user = "Фронтэнд";
    const role = "өнүктүрүүчү";
    const message = highlight`Салам, ${user}! Сен - ${role}.`;
    console.log(message); // Салам, <b>Фронтэнд</b>! Сен - <b>өнүктүрүүчү</b>.
    

Ошентип, шаблондук саптар JavaScriptте саптар менен иштөөнү көбүрөөк ийкемдүү, түшүнүктүү кылат жана + белгиси менен саптарды бириктирүүдө пайда болгон кыйынчылыктардан кутулууга мүмкүндүк берет.