En JavaScript, los template strings permiten incrustar expresiones dentro de strings; a esto también se le llama interpolación de strings.
Esta funcionalidad amplía la funcionalidad del objeto global String integrado.
Puedes crear template strings en JavaScript envolviendo el texto entre comillas invertidas. No solo permiten que el texto incluya saltos de línea y otros caracteres especiales, sino que también puedes incrustar variables y otras expresiones.
const num1 = 1;
const num2 = 2;
`Adding ${num1} and ${num2} gives ${num1 + num2}.`;
// => Adding 1 and 2 gives 3.
En el ejemplo anterior, las comillas invertidas, (``), se usan para representar un template string. El ${...} es el marcador de posición que se utiliza para la sustitución.
Cualquier tipo que no sea un string se convierte en string de forma implícita.
Este tema se trata en el concepto conversión de tipos.
Con los template strings se puede usar cualquier tipo de expresión.
const track = 'JavaScript';
`This track on exercism.org is ${track.toUpperCase()}.`;
// => This track on exercism.org is JAVASCRIPT.
Cuando necesites que los strings tengan formato en varias líneas:
`This is an example of using template
strings to accomplish multiple
lines`;
Gracias a las posibilidades de sustitución disponibles, también puedes introducir lógica en el proceso para determinar cuál debería ser el string de salida.
Una forma de gestionar esa lógica podría ser usar el operador ternario.
Esto ofrece la misma funcionalidad condicional if/else en un formato ligeramente distinto.
Para introducir lógica en la sintaxis de los template strings:
const grade = 95;
`You have ${grade > 90 ? 'passed' : 'failed'} the exam.`;
// => You have passed the exam.