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`;