JavaScript、関数の書き方沢山ありすぎませんか?
コールバック関数で関数に関数を渡したりする関係で、どんどん省略形が誕生していったとのことですが・・。
アロー関数 - JavaScript | MDNのサイトを元に、少しずつ理解した時のメモです。
コードは全てプレイグラウンドで実行できますので、試してみてください。
まずは基本形です。
//関数の定義
let hello = function(name) {
return('hello! ' + name) //処理内容
}
//処理の実行
console.log(hello('takashi'));
アロー関数という=>
を引数の後ろに書くことで、function
が省略できます。
//関数の定義
let hello = (name) => {
return('hello! ' + name) //処理内容
}
//処理の実行
console.log(hello('takashi'));
そして、更に省略できます。
- 関数の{}の中に1文しかない場合、
中括弧{}
もいりません。 - return文の場合、
return
も省略可能です。
//関数の定義
let hello = (name) => 'hello! ' + name //処理内容
//処理の実行
console.log(hello('takashi'));
更にスッキリさせます。
- 引数が 1 つしかない場合、丸括弧 () の使用は任意です。
//関数の定義
let hello = name => 'hello! ' + name //処理内容
//処理の実行
console.log(hello('takashi'));
逆に、引数がない場合、丸括弧を書かねばいけません:
//関数の定義
let hello = () => 'hello! ' + 'takashi' //処理内容
//処理の実行
console.log(hello());
以上です。