訳の正確性を保証するものではありませんので必要に応じて原文であるEcma InternationalのECMA-262にある ECMA-262.pdf ( ECMA-262 5.1 Edition )を参照下さい。
訳:2012年04月 webzoit.net
【構文】 Statement : Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement DebuggerStatement
【セマンティックス】 Statement(文)は、それ自身をLabelledStatement(ラベル付きの文)の一部とすることが可能等々といったようにLabelledStatementの一部とすることが可能です。 この方法を導入したラベルは、個別の文のセマンティクスを説明する場合に"現在のラベルのセット(集合)"といったようにひとまとめに参照されます。 LabelledStatementには、任意のラベル集合へのラベルの導入以外のセマンティック上の意味合いはありません。 IterationStatement (反復文)や SwitchStatement (Switch文)のラベルのセットは、最初は1つのカラの要素を含みます。 他の文のラベルのセットは、最初はカラです。 Statementを評価した結果は、常にCompletion(完了)値です。
[注釈] ECMAScriptの実装を使用した一部の拡張は、文としてFunctionDeclaration(関数宣言)の使用をサポートすることが知られています。 しかしながら、FunctionDeclarationsのように適用したセマンティクスについては、実装間において重大かつ両立し得ないバリエーションがあります。 これらの理由は、コード内のStatement結果としてのFunctionDeclarationの使用は、実装間での移植が確実でないという点から、その相違は相容れないからです。 ECMAScriptの実装においては、FunctionDeclarationの使用を禁ずるか、このような使用方法と遭遇した場合に警告を発することが推奨されます。 ECMAScriptの将来のエディション(版)では、Statementコンテキスト内で定義した関数における意味を移植する選択肢を定義するかもしれません。