Javascriptで改行を含む文字列を扱おうとして、以下のようなことをしてエラーとなってしまった。
let str = “今日は、
文字を改行させたい。”;
結果:Uncaught SyntaxError: Invalid or unexpected token
なぜだろう。
Javascriptで改行含む文字列を扱う方法
正規表現を使って改行を回避
正規表現の改行コード「\n」を使ってエラーを回避します。
let str = “今日は、\n文字を改行させたい。”;
console.log(str);
HTMLに出力する場合は<br>を使ってエラーを回避することもできます。
let nstr = “今日は、<br>文字を改行させたい。”;
document.write( “<p>” + nstr + “</p>” );
テンプレート文字列( template literal )を使って回避
ES6(ES2015)から採用されているテンプレート文字列( template literal )を使って回避する方法です。
文字をダブルクォーテーション(” “)やシングルクォーテーション(‘ ‘)で囲むのではなく、バックティック文字 (` `)で囲います。
let bstr = `今日は、
文字を改行させたい。`;
console.log(bstr);
こちらの方が簡単で、正規表現を使うよりコードが読みやすいですね。
ES6(ES2015)で書いていいのか判断が困る場合、初心者的にはまわりの方がvarではなくletやconstで定義しているコードであれば使って良さそう、と判断すれば良いと思います。
※IE11以下は対応していません。
わかってしまえば簡単。初心者らしい間違えでした。