if(true) {
let m = "yo";
console.log(m);
}
console.log(m)
出力:JavaScriptの実行順序:この条件は、それに続くコードの後になぜ実行されますか?
ReferenceError: m is not defined
yo
だから、4行目のコードは、ライン8
上のコードの後に実行されているlet
の私の使用量がこれを行うには何も持っていますか?
編集:コメントを読んだ後、私はこれが私のランタイムのためかもしれないことに気付きました。ここで私は毎晩Firefoxでそれを見る方法は次のとおりです。
EDIT 2:これは確かに私のランタイムである場合には、生産コードのための含意があるため、このようなものであるのですか?ブラウザ間で動作が矛盾していますか?それをどうやって守るのですか?
これはChromeで実行していますか? – Ben
[私はそれを再現できません。](http://jsfiddle.net/nxzt5npp/) - 私はこれをFFの開発版で見ています。 – Andy
Firefox Nightlyでこの現象が発生しました。 –