なぜJavaScriptはキーワード、変数名として許さ予約されていますか?

。メリーランド州Tahazzot:

私たちは、それが知ってletいる予約された JavaScriptで変数を定義するキーワード。

var let = 2;
console.log(let); // return 2

では、なぜこれはエラーではありませんか?

CertainPerformance:

let strictモードでのみ予約語です。

'use strict';
var let = 5;

キャッチされないでSyntaxError:予期しないstrictモード予約語

ブラウザは一般的に優先順位をつけるためです下位互換性何よりもを。が、letES2015に導入された(そしてその使用はいつか前に、その後、予見された)、使用前にスクリプトlet必要に応じて、変数名としては、仕事を続けるでしょう。たとえば、あなたのスクリプトは、2008年に書かれたとします。

var let = 2;
console.log(let);

そして、それは2020年に作業を続けるにもなります。

非常に同様の理由で、asyncawaitもされている変数名として許可

使用する理由についてはletstrictモードでエラーが-厳密モードは、その後2009年バックに、ES5で導入された、新しいキーワード(複数可)の使用は、変数を宣言することを言語設計者ののこぎりは、それがwasn将来の可能性があったが、 「トンまだ石でセット、およびES6はまだ長い方法オフになっていました。ES5が出てきたら、スクリプト作成者は、コードそれほど混乱を作るためにstrictモードにして、選ぶ、と明示的なエラーをサイレントエラーを変更することができます。let変数宣言のために使用できませんでしたまだ、厳密モードで変数名としてそれを禁止するの可読性向上将来の任意の既存のスクリプトを破壊しないが、厳密モードにオプトインスクリプト。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=21891&siteId=1
おすすめ