JavaScriptにおいて、関数式で書くべきか、関数宣言で書くのか、おそらく正解はなく、すでに様々なところで議論されていると思いますが、みなさんはどのように書いているのでしょうか?両者の違いについての質問・回答はすでにいくつかありましたが、結局のところ2016年時点でどのような使い方が良しとされているのかについては明確ではなく、興味があったので質問してみました。
es6への対応も進み、ある程度型が絞れそうな node.js でのケースを例に書いてみました。関数式と関数宣言を混在させる気持ち悪さがありますが、関数宣言の巻き上げは利用価値ががあると思っています。
javascript
1'use strict'; 2const zzzFunc = require('./lib/zzz'); 3: 4function AAA() { 5 // 基本的には関数式で書く 6 const bbbFunc = () => { 7 : 8 CommonA(); 9 CommonB(); 10 : 11 }; 12 const cccFunc = () => { ... CommonA(); ... }; 13 const dddFunc = () => { ... CommonB(); ... }; 14 15 // 複数の関数式内で呼ばれる関数は関数宣言にしておく 16 function CommonA() { ... } 17 function CommonB() { ... } 18 19 // 実行 20 bbbFunc() 21 .then(cccFunc) 22 .then(dddFunc) 23 .then(zzzFunc) 24 .catch( e => console.log('ERR: ', e) ); 25 26 /*// OR モジュールを外部から利用 27 return { 28 bbb : bbbFunc, 29 ccc : cccFunc, 30 ddd : dddFunc 31 }; 32 *//////////// 33} 34 35module.exports = AAA;

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/16 12:45
2016/04/16 13:12 編集
2016/04/16 14:05 編集
2016/04/16 15:47
2016/04/16 19:38 編集
2016/04/17 02:57
2016/04/17 07:36
2016/04/17 08:37