generated at
JavaScriptのアロー関数
() => {}みたいなの

なんかいろいろ書き方があるMijinko_SD

arrows.js
() => {console.log("");} // 引数なし
引数が無いアロー関数
最初の () は省略不可能

arrows.js
(e) => {console.log(e);} // 引数あり
引数( e )があるアロー関数
複数の引数がある場合はカンマ区切りで記述できる
例) (e, f, g)

arrows.js
e => {console.log(e);} // 上と全く同じ(()を省略しただけ)
引数が1つしかない場合限定で () を省略できる
deno fmt () を必ず付けてくるので、時間がないときにスクボで適当に書いたコード以外は () を略さないようにしているtakker
コードゴルフ(もどき)をしていると、引数なしより引数1つのほうが文字数が少ないのでそっちを採用することがある綾坂こと
()=>{……} より u=>{……} のほうが1文字少ない
このあたりはminifier2に任せているtakker

arrows.js
() => true; // trueを返す
右側を中括弧 {} で囲まなければ、右側に書いた値や計算式自体が戻り値になる
中括弧で囲んでいて、かつreturnを書いていない場合は値を返さない
上記の上から3つまでが該当する
これつまり、アロー関数式の構文に式を取るものと文を取るものがあるな?綾坂こと
MDN Web Docsに書いてあるやんけ
右側に式をいれる : [async ]() => 式 , [async ]引数 => 式 , [async ](引数1[, 引数2[, ……, 引数N]]) => 式
右側に文をいれる [async ]() => {文} , [async ]引数 => {文} , [async ](引数1[, 引数2[, ……, 引数N]]) => {文}
{} があれば文、なければ式として解釈してる

returnなしでオブジェクトを返そうとして、できないのをたまにやるinajob
オブジェクト生成とブロックが同じ中括弧なのが問題
毎回 ()=>{return{foo:bar}} って書いてるMijinko_SD
もっといい方法ないのかな
takker
arrows.js
() => ({ foo: bar });
なるほど!次からこうしようinajob
ま じ か よ Mijinko_SD
この書き方出来るのか、知らなかった
+1Summer498
自分もだれかのコードを読んで初めて知りましたtakker
ブロックと解釈されないように () で囲うのはこれ以外でも使う気がする綾坂こと
具体例が出てこないけど

arrows.js
() => {return true;} // trueを返す
右側を中括弧で囲むと、普通の関数と同じように中に命令文を書けるようになる
ちゃんと整形して書くと以下のようになる
arrow_formatted.js
() => { return true; }
もちろん、複数行で書くことも出来る
arrow2.js
() => { console.log("真でも喰らえ!!!!!"); return true; }