En JavaScript, los template strings permiten incrustar expresiones dentro de strings, lo que también se conoce como interpolación de strings.
Esta funcionalidad amplía las capacidades del objeto global String que viene 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 usa para la sustitución.
Cualquier tipo que no sea string se convierte implícitamente a string.
Este tema se trata en el concepto de conversión de tipos.
Todos los tipos de expresiones se pueden usar con template strings.
const track = 'JavaScript';
`This track on exercism.org is ${track.toUpperCase()}.`;
// => This track on exercism.org is JAVASCRIPT.
Cuando necesitas que los strings tengan formato en varias líneas:
`This is an example of using template
strings to accomplish multiple
lines`;
Con las capacidades 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 manejar esa lógica podría ser usando el operador ternario.
Esto ofrece la misma funcionalidad condicional de if/else en un formato un poco distinto.
Para implementar 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.