14

は、以下のコードを見てみましょう:このコード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)を持っています。

注目すべきもう一つのことは、ブロックが単なる囲みブロックであることです。機能の本体ではありません。

+0

@Kaiidoだから、それはバグでしょうか? Chromeでは、この場合に予想されるエラーメッセージが表示されるためです。 –

+4

もしそれがバグだと思うなら、バグレポートを作るよりも、彼らはyayかnayと言うでしょう。 – epascarello

+0

@Bergi変数 'y'に何か問題があると思っていたので、エラーメッセージが私を混乱させます。しかし、代わりに、私の例では最初の行にある変数に何か問題があると言います。 –

答えて

1

この投稿は、閉鎖される代わりにthis meta postに従って作成されます(this参照)。 @Martin Smith@Sam Onelaは(12)言ったように


、この問題は、バージョン53/54で解決されました。 、Devashish(オリジナルポスター)

関連する問題