Firefox 33 で ES6 の TemplateLiteral の一部が実装された

ついにきた。

JavaScript にはヒアドキュメントがない」などと言われてきた。そんなディスりとはおさらばだ。

JavaScriptの文字列リテラル"'でくくることだった。が、これらで複数行を実現するには少々面倒であった。

しかし、今回の実装でもう一つ、`(バッククォート)でくくるという表現ができるようになった。

var str = `a
b
c
d`;

と書けるようになる。

TemplateLiteralには他にも機能があるのだが、今回の実装はここまで。

最終的には、以下の様に、${}内に式を埋め込めたり、関数`...` という記述で関数に値を渡すことができるようになるはず。

var obj = {
  tag: "p",
  class: "fooClass"
};
html`<${obj.tag} class="${obj.class}">hoge
foo
bar</${obj.tag}>`
// <p class="fooClass">hoge
// foo
// bar</p>

追記(2014-06-25)

${expr}による、式の埋め込みが実装された。