ES6に追加されたアロー関数はスッキリ書けて気持ちいですよね
特に一行のときは更に色々省略出来ていいですよね
しかしブロック({}
)を省略したときは一文しか書けないので2文以上は書けません
便利ですが、Promiseでエラーがあったらコンソールに吐いてnullを返すことをしたい
のような
一行でスッキリと書きたい量の処理であってもブロックにしないと2文は書けないのです...
せっかく{}
やreturn
を省略できたのになんだかがっかりしますよね1
Promise.reject('some error')
.catch(err => { console.error(err); return null })
そんなときにmdnの演算子一覧を見ていたら気になるものがありました。カンマ演算子 です
どうやらカンマ演算子を使用すると複数の式を実行し、最後の式を返す性質があるそうです
ためしにコンソールで実行してみると一目瞭然です
> (console.log('log'), null)
log
< null
これでスッキリ書けますね!めでたしめでたし2
Promise.reject('some error')
.catch(err => (console.error(err), null))