クローム開発者コンソールにランダムなコードを書き込んでいました。驚いたことに、let
は完全に間違っている変数名としてlet
を使用しました。let
は予約済みのキーワードです。私はなぜこれが起こっているのか理解する必要があります。変数名として 'let'を使用すると、Google v8でエラーが発生しない
シナリオ:
var const = 78 //throws an error as expected
var function = 46 //throws an error as expected
var let = 56 //didn't throw an error :O
let //prints 56, which is wrong because 'let' is a keyword
let ab = 90
ab //prints 90 as expected
この欠陥はnode
に存在します。しかし、私がBabel REPLで試してみると、それはエラーを投げています。
私は、これは、GoogleのV8
なぜ予約語を使用しないのはなぜですか? – mplungjan
答えとして投稿するのは不明ですが、これは古いコードが破損しないようにするためだと思います。 ES2015より前のアプリで「let」という変数を使用していた場合はどうなりますか? –
私はそれを手に入れます。 「予約語」の正式なリストがある場合、v8はそれに従わないのはなぜですか?私はそれが間違いを起こすと思います。 –