は、以下のコードを見てみましょう:このコードFirefoxの開発版ではバグですか?
var c = 50;
{
console.log(y);
let y = 50;
}
をにReferenceErrorを投げると期待してそれはありませんされています。しかし、コンソールでは、例外が付いたメッセージが私の心を吹き飛ばしただけです。それは言う:
ReferenceError: can't access lexical declaration 'c' before initialization
c
は、最初に宣言された変数です。エラーメッセージは、c
の宣言に問題があることを示します。明らかにブロック内にy
という変数があり、例外が発生しています。宣言の前にlet
を使って宣言された変数は使用できません。私は何かが足りないか、私は右のバグについてだ
ReferenceError: can't access lexical declaration 'test' before initialization
アム:私は最初の行に別の変数を宣言すると、test
言い、エラーメッセージがに変わり?私は最新のFirefox Developer Edition(バージョン49.0a2)を持っています。
注目すべきもう一つのことは、ブロックが単なる囲みブロックであることです。機能の本体ではありません。
@Kaiidoだから、それはバグでしょうか? Chromeでは、この場合に予想されるエラーメッセージが表示されるためです。 –
もしそれがバグだと思うなら、バグレポートを作るよりも、彼らはyayかnayと言うでしょう。 – epascarello
@Bergi変数 'y'に何か問題があると思っていたので、エラーメッセージが私を混乱させます。しかし、代わりに、私の例では最初の行にある変数に何か問題があると言います。 –