Sobes.tech
Junior

Mis on malliliteraalid ja milleks neid kasutatakse?

sobes.tech AI

Vastus AI-lt

Malltekstilised kirjad (template literals), mida tuntakse ka mallridadena, on JavaScriptis süntaksisuhkur, mis võimaldab sisestada väljendeid stringidesse, kasutades tagurpidi tühikuid (``).

Neid kasutatakse:

  1. Mugavamaks muutmiseks muutujate ja väljendite sisestamiseks stringidesse:

    const name = "Maailm";
    const greeting = `Tere, ${name}!`; // Muutujat sisestades
    console.log(greeting); // Tere, Maailm!
    
    const sum = 2 + 3;
    const result = `Summa: ${sum}.`; // Väljendit sisestades
    console.log(result); // Summa: 5.
    
  2. Mitmeridade stringide loomine ilma reavahetuse sümbolita (\n):

    const multilineString = `
    See
    on
    mitmeridade
    string.
    `;
    console.log(multilineString);
    
  3. Komplekssed stringiväljendid, nagu failiteed või SQL-päringud, parema loetavusega:

    const userId = 123;
    const query = `SELECT * FROM users WHERE id = ${userId}`;
    console.log(query);
    
  4. Märgistatud mallide (tagged templates) kasutamine laiendatud funktsionaalsuse jaoks: Märgistatud mallid võimaldavad kutsuda funktsiooni mall-literali abil. Esimene argument on stringide massiiv, järgnevad väärtused sisestatud väljenditest:

    function highlight(strings, ...values) {
      let str = '';
      strings.forEach((string, i) => {
        str += string;
        if (values[i]) {
          str += `<b>${values[i]}</b>`; // Näiteks paksu kirja esiletõstmine
        }
      });
      return str;
    }
    
    const user = "Frontend";
    const role = "arendaja";
    const message = highlight`Tere, ${user}! Sa oled - ${role}.`;
    console.log(message); // Tere, <b>Frontend</b>! Sa oled - <b>arendaja</b>.
    

Seega muudavad malltekstid JavaScriptis stringidega töötamise paindlikumaks, arusaadavamaks ning võimaldavad vältida keerukusi, mis on seotud stringide ühendamisega + märgi abil.