JavaScript では、関数式 ( などvar myFunc = function() {...}
) を使用する場合、他の変数宣言と同様に、使用する前に変数を定義する必要があります。たとえば、次の例は機能しません(結果は になりUncaught TypeError: myFunc is not a function
ます)。
var myVar = myFunc();
var myFunc = function() {
// code here...
}
ただし、ノードjsプロジェクトのroutes/index.jsファイルには、次のコードがあります(明らかに省略されています):
var router = express.Router();
.
.
.
router.post('/', function(req, res) {
...
...
var myVar = myFunc(); // WORKS!
...
...
}
var myFunc = function() {
...
}
myFunc
変数は使用後に宣言されるので、これはエラーをスローするべきではありませんか?