![](http://sakyou.net/wp-content/uploads/2020/03/sa-1024x768.jpeg)
オブジェクト編が少し疲れたので、関数を読み始めた本日。
ユーザー定義関数について下記にまとめる。
①function命令
最も基本的なアプローチ。
![](http://sakyou.net/wp-content/uploads/2020/03/スクリーンショット-2020-03-24-15.10.45-1.png)
②functionコンストラクター経由で定義する
組み込みオブジェクト。
(ただ、特別な理由がない限り、あえて②を使用するメリットはないとのこと。)
![](http://sakyou.net/wp-content/uploads/2020/03/スクリーンショット-2020-03-24-15.16.48.png)
③関数リテラル
function命令によく似ているが違いは以下
・function命令⇨関数getTriagleを直接定義している
・関数リテラル⇨名前のない関数を定義した上で変数getTriangleに格納している
(名前を持たないことから匿名関数、または無名関数と呼ばれることもある。)
![](http://sakyou.net/wp-content/uploads/2020/03/スクリーンショット-2020-03-24-15.45.21.png)
④アロー関数
=>で引数と関数本体をつなぐ。
(引数,…)=>{…関数の本体…}
![](http://sakyou.net/wp-content/uploads/2020/03/スクリーンショット-2020-03-24-15.53.47.png)
本体が一文の場合はブロックを表す{…}は省略できる。文の戻り値がそのまま戻り値と見なされるためreturnも省略可能⬇︎
(引数が一つの場合は引数をくくるカッコも省略可能)
![](http://sakyou.net/wp-content/uploads/2020/03/スクリーンショット-2020-03-24-15.57.57.png)
アロー関数ってドットインストールでもよく出てきててそのうち調べるかと思っていたところ。こういう風に省略できるんですね。
②はそんなに使わなそうだけど、他の使い分けって何かあるのかな。
c.sakyou