以下のコードはChrome,SafariとFirefoxで挙動が異なる。
(function(){
if(true){
var hoge = fuga();
function fuga(){
console.log('fuga');
}
}
})()
Chromeの場合
実行できる
Firefoxの場合
実行できない
そもそもJavaScriptに慣れ親しんだ人はこんな書き方しない。
しかし、他の言語に慣れ親しんでいた人は書いてしまった。
他言語からJSを書き始めた場合、やりがちなのでJSpattern や GoodPartsをよく読みましょう。
また、この挙動が異なる原因はどこから来ているのか。
どなたか知っていたら教えていただきたいです。