34

私がこれを書いている時点で、 ECMAScript5は最終ドラフトにあります。これは、グローバルオブジェクトへの割り当て、evalの使用、およびその他の制限を防ぐstrictモードが含まれているためです。(ジョン・レシグの記事は良い紹介です。)

この魔法の正気度保存モードは、ファイル(または関数)の先頭に「usestrict」という文字列を含めることでトリガーされます。ただし、古い環境では、「usestrict」は使用できません。「usestrict」を追加し、それを厳密な環境でテストしない場合、実際に厳密な環境に到達したときに壊れてしまう、それほど厳密ではないコードの時限爆弾を残す可能性があります。

どの環境が実際に「厳密な使用」を尊重しますか?

4

4 に答える 4

26

更新

私の互換性表を参照してください。

元の応答:

今のところなし。

Raphael Speyer はこの夏、Rhino の Mozilla 実装に取り​​組んでいました。

(ES-discuss リストからの情報に基づいて) Microsoft が ES5 機能の一部を IE の次のバージョンに含めることを計画していることを知っています。のような ES5 機能のObject.defineProperty)。

いくつかのバリエーション (Valija、Cajita など) で厳密モードの動作をいくらかエミュレートするGoogle の Caja プロジェクトもあります。

Crockford は最近、このオプションをJSLintに追加しましたが、(ES5 の厳密な規則に従って) 実際に追加の検証をトリガーするかどうかはわかりません。

于 2009-09-14T21:09:52.437 に答える
12

実際にリリースされた今、Firefox 4 は「ES5 Strict Mode をサポートする最初のブラウザー」の勝者です。Firefox 4 でテストする限り、これで使用を開始できます。


Safari 5.1+ および Chrome 13+ ストリクト モードもサポートします。


最初のものは次の場所にあります: Besen。Delphi で実装されています。スタンドアロンだと思いますが、よくわかりません。ただし、strict モードはサポートしています。

この互換性表を介して見つかりました。


Jurassicは、ES5 Strict Mode をサポートすると主張しています。

于 2010-07-11T05:14:42.520 に答える
9

ECMAscript 5 厳格モードでは、主要なブラウザー (またはそれ以降) に対して次のバージョンが必要です。

Chrome 13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Opera 11.6

いいえ、IE9 には厳密なサポートはありません。バージョン 10 以降の新機能です。

于 2011-08-28T23:16:32.553 に答える
1

Opera 11.60 はすでに ECMAScript 5.1 を完全にサポートしており、厳密なモードのバリエーションです。@kangax 互換表を参照してください。

于 2011-12-29T18:33:24.800 に答える