javascript

Backticks o plantillas de cadena en Javascript

Introducción

Javascript es un lenguaje que evoluciona rápidamente. Hace algunos años se introdujeron las backticks o template strings. Permiten concatenar y trabajar con cadenas de una mejor y sencilla manera.

Plantillas de cadena

Concatenar

¿Qué pasaba si queríamos un texto largo, legible en el código? podíamos hacer algo así:

var usuario = "pedrito",
    password = "123";
var texto = "Hola. Estos son tus datos: " + "\n" +
            "Usuario: " + usuario + "\n" + 
            "Contraseña: " + password;
console.log(texto);

En cambio, con las backticks podemos hacer esto:

var usuario = "pedrito",
    password = "123";
var texto = `Hola. Estos son tus datos:
Usuario: ${usuario}
Contraseña: ${password}`;
console.log(texto);

¿Fabuloso, no?

Expresiones

Como vimos, con ${} podemos acceder a variables. Pero no es acceder a variables lo único que podemos hacer; de hecho podemos poner una expresión como cualquier otra.

Veamos por ejemplo cómo imprimir una tabla de multiplicar. Normalmente sería así:

var tabla = 5;
for(var i = 1; i <= 10; i++) console.log(tabla + "x" + i + " = " + tabla * i + "\n");

Con resultados:

Tabla de multiplicar con ES5

En cambio, con las template strings haríamos algo así:

var tabla = 5;
for(var i = 1; i <= 10; i++) console.log(`${tabla}x${i} = ${tabla * i}
`);

El resultado sería el mismo:

Tabla de multiplicar con ES6

Comillas, saltos de línea y tabulaciones

Podemos escapar cualquier tipo de comillas. Los saltos de línea los ponemos incluyendo el salto de línea directamente en la plantilla, al igual que las tabulaciones. Aquí un ejemplo:

var mensaje = `Esto es una comilla doble => "
Esto es una comilla simple => '




Arriba hay muchos saltos
    Una tabulación
        ¡Otra tabulación!




        Saltos con tabulación`;
console.log(mensaje);

Con eso podemos poner mucho texto sin preocuparnos por escaparlo. El resultado es este:

Sin necesidad de escapar texto, tabulaciones, comillas o saltos de línea

Funciones

Para terminar de explicar, veremos que también podemos llamar a funciones, pasar parámetros y todo eso. De hecho, dentro de una función también usamos las backticks.

var visitante = "Luis";

var saludo = function(nombre){
    return `¡Hola, ${nombre}!`;
}

var sumar = function(a, b){
    return a + b;
}
console.log(`${saludo(visitante)} Bienvenido a mi sitio. 5 + 5 es igual a ${sumar(5, 5)}`)

Al ejecutar el código, este es el resultado:

Funciones llamadas dentro de plantillas de texto

Conclusión

Recordemos que no todos los navegadores lo soportan, así que es mejor investigar antes de implementar. Por otro lado, podemos utilizar un compilador como Babel que convertiría las template strings en cadenas simples, concatenadas, respetando saltos de línea, llamadas a funciones y todo eso.

BabelJS para transformar backticks. A la derecha texto transformado.

En este caso lo hice directamente desde el navegador, pero ya hay muchas herramientas que permiten compilarlo automáticamente.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

3 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

4 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

3 semanas hace

Esta web usa cookies.