UPDATE: I just came across a wonderful syntax design in JavaScript-ES6 called Template literals. What you want to do can be literally be done using `
(backtick or grave accent character).
var foo = `Bob
is
cool`;
In which case, foo === "Bob\nis\ncool"
is true.
Why the designers decided that ` ... `
can be left unterminated, but the " ... "
and ' ... '
are illegal to have newline characters in them is beyond me.
Just be sure that the targeting browser supports ES6-specified Javascript implementation.
P. S. This syntax has a pretty cool feature that is similar to PHP and many more scripting languages, namely "Tagged template literals" in which you can have a string like this:
var a = 'Hello', b = 'World';
console.log(`The computer says ${ a.toUpperCase() }, ${b}!`);
// Prints "The computer says HELLO, World!"