Por qué me he pasado a los literales de plantilla de ES6 desde Mustache / Handlebars

Foto de Steve Johnson en Unsplash

Con ES6 (o ES2015 si quieres), podemos crear cadenas de plantilla con Template Literals. Los Template Literals son cadenas en las que podemos inyectar variables y funciones. Nos permiten escribir sin usar signos de más + para concatenar cadenas y variables. Estas cadenas utilizan un signo de retroceso ` en lugar de comillas simples o dobles.

Concatenación de variables:

var name = "Josh";
var string = "Hello " + name;// output = <p>Hello Josh</p>

Literal de plantilla con variable:

let name = "Josh";
let string = `Hello ${name}`;// output = <p>Hello Josh</p>

La diferencia aquí es utilizar un signo de dólar y llaves${} alrededor de un nombre de variable y no signos de más ${variableName} . Esto hace que el uso de cadenas y variables juntas sea más legible.

Concatenación de líneas:

var string = "The quick brown fox " +
"jumps over " +
"the lazy dog";

Líneas de literales de plantilla:

let string = `The quick brown fox
jumps over
the lazy dog`;

Ahora estamos empezando a ver que los literales de plantilla se parecen mucho a los motores de plantilla. Veamos cómo podría ser:

let data = { greeting: 'Hello', name: 'Josh' };
let template = `<p>${data.greeting} {data.name}</p>`;
element.innerHTML = template;// output = <p>Hello Josh</p>

Un literal de plantilla añadía los datos del objeto en la cadena para que lo usáramos. Podemos usar variables y objetos para informar los datos en la cadena. Todo lo que hay entre las llaves se evalúa, desde los números hasta las condiciones y las funciones.

Math:

let number = `${2 * 5}`;// output = 10

Condición ternaria:

let time = 'night';
let string = `Good ${time === 'night' ? 'evening' : 'day'}, Josh`;// output = Good evening, Josh

Poniendo todo junto, podríamos construir funciones para manejar contenido repetido como un array.

Función:

Eso escaló rápidamente

Deja una respuesta

Tu dirección de correo electrónico no será publicada.