私はこの議論についてたくさんのページを読みましたが、それでもなぜこれ(宣言)が理解できません
function foo() {console.log("foo");}
(function(){
// Really there is nothing here
})();
これ(式)の間、何もしません
var foo = function() {console.log("foo");}
(function(){
// Really there is nothing here
})();
出力
foo
Uncaught TypeError:undefinedは関数ではありません
何が起こっているのか、ここにあるのか?