new Operatorsuper Keyword? : ), )if Statementdo-while Statementwhile Statementfor Statementfor-in, for-of, and for-await-of Statementscontinue Statementbreak Statementreturn Statementwith Statementswitch Statementthrow Statementtry Statementdebugger Statement?um/p1-90`ECMAScript source textはUnicode code pointsのsequenceです。surrogate code pointsを含むU+0000からU+10FFFFまでのすべてのUnicode code point valuesは、ECMAScript grammarsによって許可される場所でECMAScript source textに出現してよいです。ECMAScript source textを格納および交換するために使用される実際のencodingsは、この仕様には関係ありません。外部source text encodingにかかわらず、conforming ECMAScript implementationはsource textを、各
combining character sequenceのcomponentsは、ユーザーがsequence全体を単一のcharacterと考える場合でも、個々のUnicode code pointsとして扱われます。
string literals、regular expression literals、template literalsおよびidentifiersでは、任意のUnicode code pointは、code pointの数値を明示的に表すUnicode escape sequencesを使用して表すこともできます。comment内では、そのようなescape sequenceはcommentの一部として事実上無視されます。
ECMAScriptは、Unicode escape sequencesの振る舞いにおいてJava programming languageとは異なります。Javaプログラムでは、例えばUnicode escape sequence \u000Aがsingle-line comment内に出現した場合、それはline terminator(Unicode code point U+000AはLINE FEED (LF))として解釈されるため、次のcode pointはcommentの一部ではありません。同様に、Unicode escape sequence \u000AがJavaプログラムのstring literal内に出現した場合、それも同様にline terminatorとして解釈されますが、これはstring literal内では許可されません—LINE FEED (LF)をstring literalの値の一部にするには、\u000Aではなく\nと書かなければなりません。ECMAScriptプログラムでは、comment内に出現するUnicode escape sequenceは決して解釈されず、したがってcommentの終了に寄与することはありません。同様に、ECMAScriptプログラムのstring literal内に出現するUnicode escape sequenceは常にliteralに寄与し、line terminatorとして、またはstring literalを終了させる可能性のあるcode pointとして解釈されることはありません。
The abstract operation UTF16EncodeCodePoint takes argument codePoint (a Unicode code point) and returns a String. It performs the following steps when called:
The abstract operation CodePointsToString takes argument text (a sequence of Unicode code points) and returns a String. これは、
The abstract operation UTF16SurrogatePairToCodePoint takes arguments lead (a code unit) and trail (a code unit) and returns a code point. UTF-16
The abstract operation CodePointAt takes arguments string (a String) and position (a non-negative
The abstract operation StringToCodePoints takes argument string (a String) and returns a
The abstract operation ParseText takes arguments sourceText (a String or a sequence of Unicode code points) and goalSymbol (a nonterminal in one of the ECMAScript grammars) and returns a
特定の位置に
clause
ECMAScript codeには4つのtypesがあります:
eval functionに供給されるsource textです。より正確には、built-in eval functionへのparameterがStringである場合、それはECMAScript evalの特定のinvocationについてのeval codeは、そのFunction codeは、ECMAScript
さらに、上で参照されたsource textが次のものとしてparseされる場合:
その場合、そのdeclarationまたはexpressionの
Function codeは一般に、Function Definitions(
Directive Prologueは、
Use Strict Directiveは、"use strict"または'use strict'のいずれかであるものです。
ECMAScript syntactic unitは、unrestrictedまたはstrict mode syntax and semantics(
evalへのcallがstrict mode code内に含まれるstrict mode codeではないECMAScript codeはnon-strict codeと呼ばれます。
The abstract operation IsStrict takes argument parseNode (a
ECMAScript implementationは、評価的振る舞いが