今まではjavascriptで一度に複数行の出力させようとすると一手間必要だったが
2015年のes6でテンプレート文字列(template literals)が導入された事により大きく改善された。
これに気付くまで2年かかってる事実に目をつぶれば大変喜ばしい事である。
//javascriptで複数行書く方法 console.log("1行目"); console.log("2行目"); console.log("3行目"); //複数行で書けるけど出力は1行になる(改行コードが必要) console.log( "1行目\n\ 2行目\n\ 3行目\n"); //ES6からバッククォートで複数行可能に console.log( `1行目 2行目 3行目`);
PHPみたいで便利。
さらに変数も使える。
let hensu = "変数"; console.log("文字列の最中にhensuを使いたい") //出力:文字列の最中にhensuを使いたい console.log("文字列の最中に${hensu}を使いたい") //出力:文字列の最中にhensuを使いたい ※ダブルクォートじゃダメ console.log(`文字列の最中に${hensu}を使いたい`); //出力:文字列の最中に変数を使いたい
ますますPHPみたい!はかどる!
しかしながら、ルールが変わった所でブラウザが対応してなければ使えない。
対応状況を確認する。
ECMAScript compatibility table
https://kangax.github.io/compat-table/es6/
上記ページの「template literals」の項目をチェック。
IE11以外は対応。
顧客案件には使えないな!
結局、従来通りの方法で対応する事に。
裏切られた期待感の分だけIEへの殺意が募っただけでした。