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 = "Frontend";
    const role = "զարգացնող";
    const message = highlight`Բարև, ${user}! Դու - ${role}.`;
    console.log(message); // Բարև, <b>Frontend</b>! Դու - <b>զարգացնող</b>.
    

Այսպիսով, ձևանմուշային տողերը դարձնում են JavaScript-ում տողերի հետ աշխատելը ավելի ճկուն, հասկանալի և թույլ են տալիս խուսափել կոնկատենացիայի հետ կապված բարդություններից, որոնք կապված են + նշանի օգտագործման հետ։