Sobes.tech
Junior

¿Qué son las literales de plantilla y para qué se utilizan?

sobes.tech AI

Respuesta de la IA

Las literales de plantilla, también conocidas como cadenas de plantilla, son una azúcar sintáctica en JavaScript que permite incrustar expresiones en cadenas usando comillas invertidas (``).

Se utilizan para:

  1. Una interpolación más cómoda de variables y expresiones en cadenas:

    const name = "Mundo";
    const greeting = `¡Hola, ${name}!`; // Incrustación de variable
    console.log(greeting); // ¡Hola, Mundo!
    
    const sum = 2 + 3;
    const result = `Suma: ${sum}.`; // Incrustación de expresión
    console.log(result); // Suma: 5.
    
  2. Crear cadenas multilínea sin usar el carácter de salto de línea (\n):

    const multilineString = `
    Esto
    es una
    cadena multilínea.
    `;
    console.log(multilineString);
    
  3. Construcción de expresiones de cadenas complejas, como rutas de archivos o consultas SQL, con mayor legibilidad:

    const userId = 123;
    const query = `SELECT * FROM users WHERE id = ${userId}`;
    console.log(query);
    
  4. Uso de plantillas etiquetadas (tagged templates) para funcionalidad extendida: Las plantillas etiquetadas permiten llamar a una función con una literal de plantilla. El primer argumento de la función es un array de partes de cadenas, y los argumentos siguientes son los valores de las expresiones interpoladas.

    function highlight(strings, ...values) {
      let str = '';
      strings.forEach((string, i) => {
        str += string;
        if (values[i]) {
          str += `<b>${values[i]}</b>`; // Por ejemplo, resaltar en negrita
        }
      });
      return str;
    }
    
    const user = "Frontend";
    const role = "desarrollador";
    const message = highlight`¡Hola, ${user}! Eres un ${role}.`;
    console.log(message); // ¡Hola, <b>Frontend</b>! Eres un <b>desarrollador</b>.
    

De esta manera, las literales de plantilla hacen que trabajar con cadenas en JavaScript sea más flexible, comprensible y evitan complicaciones relacionadas con la concatenación de cadenas usando el símbolo +.