new Operatorsuper Keyword? : ), )if Statementdo-while Statementwhile Statementfor Statementfor-in, for-of, および for-await-of Statementcontinue Statementbreak Statementreturn Statementwith Statementswitch Statementthrow Statementtry Statementdebugger Statement?um/p1-90`実装は、関連するECMAScript言語構成が評価される時点でほとんどのエラーを報告しなければならない。An early error は、そのエラーを含む eval が呼び出された時に報告され、eval コードの評価を防ぐ。早期エラーでないすべてのエラーはランタイムエラーである。
実装は、本仕様の「Static Semantics: Early Errors」小節に列挙されている条件が発生した場合、それを早期エラーとして報告しなければならない。
コンパイラがある構成がいかなる状況でもエラーなく実行できないと証明できる場合であっても、実装は他の種類のエラーを早期エラーとして扱ってはならない。そのような場合に実装は早期警告を発することができるが、該当する構成が実際に実行されるまでエラーを報告すべきではない。
実装は以下を除き、指定されたとおりにすべてのエラーを報告しなければならない:
eval を呼び出す、正規表現リテラルを使用する、または Function や RegExp コンストラクタを使用するなど、実装は次の方法で本仕様を拡張してはならない:
bind メソッドを使用して作成された関数も同様にそのような own プロパティを持って作成してはならない。
toLocaleString と名付けられたもの)の振る舞いは、ECMA-402 で指定されている場合を除き拡張してはならない。
: が続くことを許すような形で拡張してはならない。