先日、とあるJavaScriptなソースを見ていたら、
const
=>
`
(バッククォート)
などの記述に出くわしました。
なんじゃこれは?
と思ったので調べてみました。
どうやらES6で使えるようになったヤツっぽい。
ときに、
いわゆるJavaScriptというのは、
標準化されたECMAScriptの実装の一つだったりします。
WebブラウザはECMAScriptの仕様にしたがって実装する感じになっています。
現在の最新バージョンは6となっていて、
通称というか略してES6とか呼んだりするようです。
ES6には便利な機能とか色々あるようなのですが、
(例えばこちらやこちらな感じ)
ブラウザによって実装状況がまちまちなので、
あらかじめ調べておく必要がある感じです。
実装状況はこちらで参照できるようです。
何気なく使ってた typed array ってES6な仕様だったのね(^_^;)
最新の Firefox ver41, Chrome ver46 あたりで対応が進んでいる項目なら、
ES6で書いてしまってもPC向けでは問題ないかも?
個人的には、
テンプレートリテラル(Template Strings)がうれしい。
こちらやこちらに詳しく書かれています。
いわゆるヒアドキュメントが使えないのが至極残念に感じていたのですが、
テンプレートリテラルを使えばばっちり解決。
しかも変数展開の機能まであるし。
こりゃ便利!!!
具体的には、
WebGLでGLSLコードをベタ貼りできるようになったり、
CSSファイルを使わないでスクリプトだけでCSS追加とかに使えそう。
例えばCSS追加なら以下のように書けそうです。
見た目に分かりやすくなりますね。
addCSS(`
body {
background-color: #ff9;
}
a {
color: #f00;
}`);
function addCSS(css) {
var s = document.createElement('style');
s.type = 'text/css';
s.textContent = css;
document.getElementsByTagName('head').item(0).appendChild(s);
}