2

ECMAScript 5 の厳密モードについて読むと、次のことがわかります。

特定の言語関数は非常に普及しているため、実行時チェックの実行にはかなりのパフォーマンス コストがかかります。いくつかの厳密モードの微調整に加えて、ユーザーが送信した JavaScript が厳密モード コードであり、特定の方法で呼び出されることを要求することで、これらの実行時チェックの必要性が大幅に減少します。

これらの調整のいくつかは次のとおりです。

  • /メソッドの最初の引数としてnull/を使用しないでください。undefinedcallapply
  • 関数内で新しいグローバル変数を作成しないでください。

質問:

  1. 厳密モードで作成された JavaScript フレームワークはありますか? では、「厳格な」コードが無駄にならないことを信頼できますか?

  2. 何としても注意を払うべきstrict modeですか?つまり、良い習慣としてやみくもに採用されているということですか?

4

2 に答える 2

3
  1. はい、ほとんどのフレームワークはすでに厳格モードの使用を開始しています。まだ完全ではないかもしれませんが、近い距離にあります。 ジョン・レシグ:

    そうは言っても、jQueryがES5-Strictと互換性があることは今のところかなり確信しています。言語の実装が利用可能になったら (その前提をテストできるように)、jQuery を厳密モードでのみ動作するように喜んで切り替えます。

  2. 使用することをお勧めしますが、必須ではありません。今すぐ厳密モードを使い始めると、それに慣れるので、新しい標準の準備が整います。

厳格モードの詳細:

于 2011-12-11T19:01:03.397 に答える
2

AFAIK jQueryは厳格モードで書かれています(編集:それほど正確ではありませんが、作者は互換性があると言っています)。Crockford の jslint は、最初に「use strict」を使用します (数日前にソース コードを見ました)。フレームワーク自体のボーナスポイントであるため、それを許容できるほとんどすべての最新のフレームワークは厳密モードであると言えます。

そうではなかったとしても、あなたの仕事が失われることはありません。なぜなら、strict モードを順守することでコードが改善されるからです (それによって、いくつかの罪を回避する必要があります)。

于 2011-12-11T19:00:41.913 に答える