PluralSight Tutorialを読んでいるうちに、構文エラーが前の行の実行を妨げると主張されました。 2();
および2 = 3;
を例として示した。このReferenceErrorは、このTypeErrorが実行されないときにすべての実行を妨げるのはなぜですか?
しかし、Chromeのコンソールでこの動作をテストすると、2 = 3;
だけが実行できなくなりました。ここで
は(私はShiftキー+を入力します使用しています)2();
用の出力です:あなたが見ることができるように
console.log("foo 1");
2();
console.log("foo 2");
VM224:1 foo 1
VM224:2 Uncaught TypeError: 2 is not a function
at <anonymous>:2:2
そして、ここでは2 = 3;
console.log("foo 1");
2 = 3;
console.log("foo 2");
VM202:2 Uncaught ReferenceError: Invalid left-hand side in assignment
のためであるが、最初の行が実行されます2();
とfoo 1
の場合は印刷されます。しかし、2 = 3;
の場合、何も印刷されません。
なぜ、以前のコードの印刷と実行を妨げる1つのタイプのエラーですが、もう1つはブラウザの依存性ですか?