STAFF BLOG
2017.08
31
タグ:

今までは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への殺意が募っただけでした。

このページを友達とシェアしよう!