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-ში სტრიქონებთან მუშაობას, უფრო მოქნილს, გასაგებს და საშუალებას აძლევს თავიდან აიცილოს კონკატენაციის სირთულეები, რომლებიც დაკავშირებულია + სიმბოლოს გამოყენებასთან.