javascriptでfunction()を省略して書く 〜 アロー関数 〜
function って書くの冗長だなと思っていたら、いつの間にか実装されていた。
chrome拡張の開発だったら、chromeが常に最新版に更新されるし、chrome以外のことを
考える必要ないので、使ってもいいんじゃね。
chrome拡張の開発は、最新の技術を心置きなく盛り込めるのですごく楽しい。
反面、chrome依存で実装されてない機能があるときはちょっと困る。cssのjustifyとか
全部これに書き換えようと思ったら、thisのスコープの扱いが違うので、注意が必要。
便利なんだけど、そのまま置き換えるとはまる。
- 例えば,オブジェクトのメソッド定義でアロー関数を使う場合
var obj = { a: 'test', init: function(){ console.log(this.a); } }
- 単純に以下のようにアロー関数に置き換えるとエラーが発生する。
var obj = { a: 'test', init: () => { console.log(this.a); } }
この場合thisに入っているのは外のwindowオブジェクトになる。
var obj = { a: 'test', init(){ console.log(this.a); } }
これを正しく省略したい場合はこう書く