CodeGym /Kurslar /Frontend SELF AZ /Şablon Literallar

Şablon Literallar

Frontend SELF AZ
Səviyyə , Dərs
Mövcuddur

3.1 Daxili ifadələr

Şablon literallarında istənilən ifadələri, o cümlədən funksiyaların çağırılmasını, ternar operatorlarını və şablon literallarını digər şablon literalları içində istifadə edə bilərsən.

Misal:

${a + b} ifadəsində riyazi əməliyyat yerinə yetirilir və nəticə result sətirinə daxil edilir.

JavaScript
    
      const a = 5;
      const b = 10;

      const result = `The result of ${a} + ${b} is ${a + b}.`;
      console.log(result); // "The result of 5 + 10 is 15."
    
  

3.2 İç-içə Şablon Literalları

Şablon literalları iç-içə yerləşə bilər, bu da mürəkkəb sətirlər yaratmağa imkan verir.

Nümunə:

message şablon literalı içərisində user obyektinin greet() metodu çağırılmışdır.

JavaScript
    
      const user = {
        name: 'Bob',
        age: 25,
        greet() {
          return `Salam, ${this.name}!`;
        }
      };

      const message = `${user.greet()} Sən ${user.age} yaşındasan.`;

      console.log(message); // "Salam, Bob! Sən 25 yaşındasan."
    
  

3.3 Tagged Templates (Təğlər ilə Şablon Literalları)

Təğlər ilə şablon literalları şablon sətirlərini emal etmək üçün bir funksiya çağırmağa imkan verir. Bu, sətirlərlə əlavə manipulyasiyalar aparmağa imkan verir, məsələn, beynəlxalqlaşma, HTML-in təhlükəsiz daxil edilməsi və s.

Sintaksis:

    
      function tag(strings, ...values) {
        // sətir və dəyərlərin emalı
        return nəticə;
      }

      const result = tag`Şablon sətiri ilə ${dəyişən}`;
    
  

Nümunə:

highlight() funksiyası sətirləri və dəyərləri emal edir, dəyərləri <span> HTML təğlərinə highlight sinfi ilə bükür.

JavaScript
    
      function highlight(strings, ...values) {
        return strings.reduce((result, str, i) =>
          `${result}${str}${values[i] || ''}`, '');
      }

      const name = 'Carol';
      const hobby = 'rəsm çəkmək';
      const message = highlight`Mənim adım ${name} və mən ${hobby} sevirəm.`;

      console.log(message);
      // "Mənim adım <span class="highlight">Carol</span> və mən <span class="highlight">rəsm çəkmək</span> sevirəm."
    
  

3.4 Dəyərlərin təhlükəsiz yerləşdirilməsi

Şablon literalları bəzi təhlükəsizlik problemlərinin, məsələn, XSS (cross-site scripting), qarşısını almağa kömək edir, dəyərlərin təhlükəsiz yerləşdirilməsi vasitəsilə. Bu, xüsusilə istifadəçi məlumatlarını HTML-ə yerləşdirərkən faydalıdır.

Nümunə:

safeHTML() funksiyası dəyərlərdə təhlükəli simvolları əvəz edir və XSS hücumlarının qarşısını alır.

JavaScript
    
      function safeHTML(strings, ...values) {
        return strings.reduce((result, str, i) =>
          `${result}${str}${String(values[i]).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')}`, '');
      }

      const userInput = '<script>alert("XSS")</script>';
      const message = safeHTML`İstifadəçi məlumatı: ${userInput}`;

      console.log(message);
      // "İstifadəçi məlumatı: &lt;script&gt;alert("XSS")&lt;/script&gt;"
    
  
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION