本の写経していたら => ()
と=> {}
の違いについて知らなかったので調べてわかったことを書きます(^^)
=> ()
returnの明示が不要で、最後に評価された値をreuturnしてくれますが、(if)文を書けない。
>[1,3].map((value,i)=>(value))[1,3]
[1,3].map((value,i)=>(if(true){value}))^^SyntaxError:Unexpectedtokenifz
=> {}
returnの明示が必要で、(if)文を書ける。
>[1,3].map((value,i)=>{value})[undefined,undefined]
>[1,3].map((value,i)=>{if(true){returnvalue}})[1,3]
まとめ
値だけを返すようなシンプルな時は、 => ()
を使って、条件分岐したい時は => {}
を使う。といいと思いました。nodeむずかしいです(^^)
よくわからなかったこと
=> ()
はどういうルールで文法が制限されているか知っている人がいたら教えて下さいm(_ _)m