0007-関数定義のサンプルコードには極力functionを使う
- ステータス: 採用
 - 提案者: suin
 - 決定者: suin, reoring, クロレ, jamashita
 - 更新日: 2020-02-21
 
解決する問題とその背景
TypeScript/JavaScriptの関数定義のサンプルコードを示すとき、関数(function)でもアロー関数(arrow function)でもどちらでも解説に影響がないとき、どちらの書き方を優先して使ったらいいか?
JavaScriptでは、関数を定義するとき、functionを使う方法と、arrow functionを使う方法の2つがある。どのような基準でどちらを使うか明確にしておくことで、ひとつの書籍としての一体感が出るとともに、読者の混乱を避けることができる。
決定事項
関数定義のサンプルコードには極力functionを使う。その理由は、
- functionのほうが関数であることが、読み手にとって読み取りやすいから。
 - TypeScript公式のハンドブックでfunctionのほうを使っているから。
 
ただし、arrow functionを使うべきところ、使わないと解説できないところは、arrow functionを使う。たとえば、
- 高階関数などが、thisへの参照を持ちたい場合。
 - arrow functionそのものについての説明をする場合。
 - フレームワークなどのしきたりでarrow functionのほうが現実でよく使われる場合。