Cadenas de varias líneas en JavaScript

Al programar con JavaScript, a menudo uno se tropieza con la incapacidad de implementar cadenas de varias líneas al ingresarlas en varias líneas en el código. Si bien la tarea en otros lenguajes como PHP o Ruby no es un problema, con JavaScript inicialmente solo puede solucionarse con soluciones, cuyo uso lo decide el gusto personal o el soporte del navegador.


El intento obvio

var str = "Dies ist eine
mehrzeilige
Zeichenkette.";

falla y el analizador luego se queja de varias cosas (en forma de token inesperado ILEGAL), porque JavaScript (a diferencia de otros lenguajes de programación como PHP) inserta automáticamente un punto y coma después del final de cada línea:

var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";

Una primera solución al problema consiste en la simple concatenación de cadenas a través del operador \ ny +:

var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";

Si prefiere una variante menos lenta y un poco más agradable, agregue una barra invertida al final de cada línea:

var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";

Alternativamente, puede usar el método de unión y obtenerlo:

var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");

Sin embargo, si obtiene ojos brillantes con expresiones regulares, use la siguiente sintaxis (match () filtra los valores entre los comentarios):

var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];

Importante: Si se minimiza el código, esta solución se puede olvidar (ya que los comentarios también se eliminan).

La variante más bonita tiene éxito con ECMA6 y la ayuda de cadenas de plantillas:

var str = `Dies ist eine
mehrzeilige
Zeichenkette`;
Atrás