0x0b
js_ab
最終更新:
0x0b
-
view
A 文法要約 (Grammar Summary)
A.1 字句文法 (Lexical Grammar)
SourceCharacter :: セクション 6 参照
任意のUnicode文字
InputElementDiv :: セクション 6 参照
WhiteSpace
LineTerminator
Comment
Token
DivPunctuator
InputElementRegExp :: セクション 6 参照
WhiteSpace
LineTerminator
Comment
Token
RegularExpressionLiteral
WhiteSpace :: セクション 7.2 参照
<TAB>
<VT>
<FF>
<SP>
<NBSP>
<USP>
LineTerminator :: セクション 7.3 参照
<LF>
<CR>
<LS>
<PS>
Comment :: セクション 7.4 参照
MultiLineComment
SingleLineComment
MultiLineComment :: セクション 7.4 参照
/* MultiLineCommentCharsopt */
MultiLineCommentChars :: セクション 7.4 参照
MultiLineNotAsteriskChar MultiLineCommentCharsopt
任意のUnicode文字
InputElementDiv :: セクション 6 参照
WhiteSpace
LineTerminator
Comment
Token
DivPunctuator
InputElementRegExp :: セクション 6 参照
WhiteSpace
LineTerminator
Comment
Token
RegularExpressionLiteral
WhiteSpace :: セクション 7.2 参照
<TAB>
<VT>
<FF>
<SP>
<NBSP>
<USP>
LineTerminator :: セクション 7.3 参照
<LF>
<CR>
<LS>
<PS>
Comment :: セクション 7.4 参照
MultiLineComment
SingleLineComment
MultiLineComment :: セクション 7.4 参照
/* MultiLineCommentCharsopt */
MultiLineCommentChars :: セクション 7.4 参照
MultiLineNotAsteriskChar MultiLineCommentCharsopt
PostAsteriskCommentCharsopt
PostAsteriskCommentChars :: セクション 7.4 参照
MultiLineNotForwardSlashOrAsteriskChar MultiLineCommentCharsopt
MultiLineNotForwardSlashOrAsteriskChar MultiLineCommentCharsopt
PostAsteriskCommentCharsopt
MultiLineNotAsteriskChar :: セクション 7.4 参照
アス^リスク * を除く SourceCharacter
MultiLineNotForwardSlashOrAsteriskChar :: セクション 7.4 参照
前方のスラッシュ / またはアス^リスク * を除く SourceCharacter
SingleLineComment :: セクション 7.4 参照
アス^リスク * を除く SourceCharacter
MultiLineNotForwardSlashOrAsteriskChar :: セクション 7.4 参照
前方のスラッシュ / またはアス^リスク * を除く SourceCharacter
SingleLineComment :: セクション 7.4 参照
SingleLineCommentChars :: セクション 7.4 参照
SingleLineCommentChar SingleLineCommentCharsopt
SingleLineCommentChar :: セクション 7.4 参照
LineTerminator を除く SourceCharacter
Token :: セクション 7.5 参照
ReservedWord
Identifier
Punctuator
NumericLiteral
StringLiteral
ReservedWord :: セクション 7.5.1 参照
Keyword
FutureReservedWord
NullLiteral
BooleanLiteral
Keyword :: one of セクション 7.5.2 参照
break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with
FutureReservedWord :: one of セクション 7.5.3 参照
abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile
Identifier :: セクション 7.6 参照
ReservedWord を除く IdentifierName
IdentifierName :: セクション 7.6 参照
IdentifierStart
IdentifierName IdentifierPart
IdentifierStart :: セクション 7.6 参照
UnicodeLetter
$
_
UnicodeEscapeSequence
IdentifierPart :: セクション 7.6 参照
IdentifierStart
UnicodeCombiningMark
UnicodeDigit
UnicodeConnectorPunctuation
UnicodeEscapeSequence
UnicodeLetter セクション 7.6 参照
Unicode カテゴリ "Uppercase letter (Lu)", "Lowercase letter (Ll)", "Titlecase letter (Lt)", "Modifier letter (Lm)", "Other letter (Lo)", "Letter number (Nl)" 内の任意の文字
UnicodeCombiningMark セクション 7.6 参照
Unicode カテゴリ "Non-spacing mark (Mn)" or "Combining spacing mark (Mc)" 内の任意の文字
UnicodeDigit セクション 7.6 参照
Unicode カテゴリ "Decimal number (Nd)" 内の任意の文字
UnicodeConnectorPunctuation セクション 7.6 参照
Unicode カテゴリ "Connector punctuation (Pc)" 内の任意の文字
UnicodeEscapeSequence :: セクション 7.6 参照
\u HexDigit HexDigit HexDigit HexDigit
HexDigit :: one of セクション 7.6 参照
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Punctuator :: one of セクション 7.7 参照
{ } ( ) [ ] . ; , < > <= >= == != === !== + - * % ++ -- << >> >>> & | ^ ! ~ && || ? : = += -= *= %= <<= >>= >>>= &= |= ^= { } ( ) [ ]
DivPunctuator :: one of セクション 7.7 参照
/ /=
Literal :: セクション 7.8 参照
NullLiteral
BooleanLiteral
NumericLiteral
StringLiteral
NullLiteral :: セクション 7.8.1 参照
null
BooleanLiteral :: セクション 7.8.2 参照
true
false
NumericLiteral :: セクション 7.8.3 参照
DecimalLiteral
HexIntegerLiteral
DecimalLiteral :: セクション 7.8.3 参照
DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt
. DecimalDigits ExponentPartopt
DecimalIntegerLiteral ExponentPartopt
DecimalIntegerLiteral :: セクション 7.8.3 参照
0
NonZeroDigit DecimalDigitsopt
DecimalDigits :: セクション 7.8.3 参照
DecimalDigit
DecimalDigits DecimalDigit
DecimalDigit :: one of セクション 7.8.3 参照
0 1 2 3 4 5 6 7 8 9
ExponentIndicator :: one of セクション 7.8.3 参照
e E
SignedInteger :: セクション 7.8.3 参照
DecimalDigits
SingleLineCommentChar SingleLineCommentCharsopt
SingleLineCommentChar :: セクション 7.4 参照
LineTerminator を除く SourceCharacter
Token :: セクション 7.5 参照
ReservedWord
Identifier
Punctuator
NumericLiteral
StringLiteral
ReservedWord :: セクション 7.5.1 参照
Keyword
FutureReservedWord
NullLiteral
BooleanLiteral
Keyword :: one of セクション 7.5.2 参照
break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with
FutureReservedWord :: one of セクション 7.5.3 参照
abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile
Identifier :: セクション 7.6 参照
ReservedWord を除く IdentifierName
IdentifierName :: セクション 7.6 参照
IdentifierStart
IdentifierName IdentifierPart
IdentifierStart :: セクション 7.6 参照
UnicodeLetter
$
_
UnicodeEscapeSequence
IdentifierPart :: セクション 7.6 参照
IdentifierStart
UnicodeCombiningMark
UnicodeDigit
UnicodeConnectorPunctuation
UnicodeEscapeSequence
UnicodeLetter セクション 7.6 参照
Unicode カテゴリ "Uppercase letter (Lu)", "Lowercase letter (Ll)", "Titlecase letter (Lt)", "Modifier letter (Lm)", "Other letter (Lo)", "Letter number (Nl)" 内の任意の文字
UnicodeCombiningMark セクション 7.6 参照
Unicode カテゴリ "Non-spacing mark (Mn)" or "Combining spacing mark (Mc)" 内の任意の文字
UnicodeDigit セクション 7.6 参照
Unicode カテゴリ "Decimal number (Nd)" 内の任意の文字
UnicodeConnectorPunctuation セクション 7.6 参照
Unicode カテゴリ "Connector punctuation (Pc)" 内の任意の文字
UnicodeEscapeSequence :: セクション 7.6 参照
\u HexDigit HexDigit HexDigit HexDigit
HexDigit :: one of セクション 7.6 参照
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Punctuator :: one of セクション 7.7 参照
{ } ( ) [ ] . ; , < > <= >= == != === !== + - * % ++ -- << >> >>> & | ^ ! ~ && || ? : = += -= *= %= <<= >>= >>>= &= |= ^= { } ( ) [ ]
DivPunctuator :: one of セクション 7.7 参照
/ /=
Literal :: セクション 7.8 参照
NullLiteral
BooleanLiteral
NumericLiteral
StringLiteral
NullLiteral :: セクション 7.8.1 参照
null
BooleanLiteral :: セクション 7.8.2 参照
true
false
NumericLiteral :: セクション 7.8.3 参照
DecimalLiteral
HexIntegerLiteral
DecimalLiteral :: セクション 7.8.3 参照
DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt
. DecimalDigits ExponentPartopt
DecimalIntegerLiteral ExponentPartopt
DecimalIntegerLiteral :: セクション 7.8.3 参照
0
NonZeroDigit DecimalDigitsopt
DecimalDigits :: セクション 7.8.3 参照
DecimalDigit
DecimalDigits DecimalDigit
DecimalDigit :: one of セクション 7.8.3 参照
0 1 2 3 4 5 6 7 8 9
ExponentIndicator :: one of セクション 7.8.3 参照
e E
SignedInteger :: セクション 7.8.3 参照
DecimalDigits
- DecimalDigits
- DecimalDigits
HexIntegerLiteral :: セクション 7.8.3 参照
0x HexDigit
0X HexDigit
HexIntegerLiteral HexDigit
StringLiteral :: セクション 7.8.4 参照
" DoubleStringCharactersopt "
' SingleStringCharactersopt '
DoubleStringCharacters :: セクション 7.8.4 参照
DoubleStringCharacter DoubleStringCharactersopt
SingleStringCharacters :: セクション 7.8.4 参照
SingleStringCharacter SingleStringCharactersopt
DoubleStringCharacter :: セクション 7.8.4 参照
二重引用符 " とバックスラッシュ \ と LineTerminator を除く SourceCharacter
\ EscapeSequence
SingleStringCharacter :: セクション 7.8.4 参照
単引用符 ' とバックスラッシュ \ と LineTerminator を除く SourceCharacter
\ EscapeSequence
EscapeSequence :: セクション 7.8.4 参照
CharacterEscapeSequence
0 [lookahead ∉ DecimalDigit]
HexEscapeSequence
UnicodeEscapeSequence
CharacterEscapeSequence :: セクション 7.8.4 参照
SingleEscapeCharacter
NonEscapeCharacter
SingleEscapeCharacter :: one of セクション 7.8.4 参照
' " \ b f n r t v
EscapeCharacter :: セクション 7.8.4 参照
SingleEscapeCharacter
DecimalDigit
x
u
HexEscapeSequence :: セクション 7.8.4 参照
x HexDigit HexDigit
UnicodeEscapeSequence :: セクション 7.8.4 参照
u HexDigit HexDigit HexDigit HexDigit
RegularExpressionLiteral :: セクション 7.8.5 参照
/ RegularExpressionBody / RegularExpressionFlags
RegularExpressionBody :: セクション 7.8.5 参照
RegularExpressionFirstChar RegularExpressionChars
RegularExpressionChars :: セクション 7.8.5 参照
[empty]
RegularExpressionChars RegularExpressionChar
RegularExpressionFirstChar :: セクション 7.8.5 参照
0x HexDigit
0X HexDigit
HexIntegerLiteral HexDigit
StringLiteral :: セクション 7.8.4 参照
" DoubleStringCharactersopt "
' SingleStringCharactersopt '
DoubleStringCharacters :: セクション 7.8.4 参照
DoubleStringCharacter DoubleStringCharactersopt
SingleStringCharacters :: セクション 7.8.4 参照
SingleStringCharacter SingleStringCharactersopt
DoubleStringCharacter :: セクション 7.8.4 参照
二重引用符 " とバックスラッシュ \ と LineTerminator を除く SourceCharacter
\ EscapeSequence
SingleStringCharacter :: セクション 7.8.4 参照
単引用符 ' とバックスラッシュ \ と LineTerminator を除く SourceCharacter
\ EscapeSequence
EscapeSequence :: セクション 7.8.4 参照
CharacterEscapeSequence
0 [lookahead ∉ DecimalDigit]
HexEscapeSequence
UnicodeEscapeSequence
CharacterEscapeSequence :: セクション 7.8.4 参照
SingleEscapeCharacter
NonEscapeCharacter
SingleEscapeCharacter :: one of セクション 7.8.4 参照
' " \ b f n r t v
EscapeCharacter :: セクション 7.8.4 参照
SingleEscapeCharacter
DecimalDigit
x
u
HexEscapeSequence :: セクション 7.8.4 参照
x HexDigit HexDigit
UnicodeEscapeSequence :: セクション 7.8.4 参照
u HexDigit HexDigit HexDigit HexDigit
RegularExpressionLiteral :: セクション 7.8.5 参照
/ RegularExpressionBody / RegularExpressionFlags
RegularExpressionBody :: セクション 7.8.5 参照
RegularExpressionFirstChar RegularExpressionChars
RegularExpressionChars :: セクション 7.8.5 参照
[empty]
RegularExpressionChars RegularExpressionChar
RegularExpressionFirstChar :: セクション 7.8.5 参照
と \ と / を除く NonTerminator
BackslashSequence
RegularExpressionChar :: セクション 7.8.5 参照
\ または / を除く NonTerminator
BackslashSequence
BackslashSequence :: セクション 7.8.5 参照
\ NonTerminator
NonTerminator :: セクション 7.8.5 参照
LineTerminator を除く SourceCharacter
RegularExpressionFlags :: セクション 7.8.5 参照
[empty]
RegularExpressionFlags IdentifierPart
A.2 数について (Number Conversions)
RegularExpressionChar :: セクション 7.8.5 参照
\ または / を除く NonTerminator
BackslashSequence
BackslashSequence :: セクション 7.8.5 参照
\ NonTerminator
NonTerminator :: セクション 7.8.5 参照
LineTerminator を除く SourceCharacter
RegularExpressionFlags :: セクション 7.8.5 参照
[empty]
RegularExpressionFlags IdentifierPart
A.2 数について (Number Conversions)
StringNumericLiteral ::: セクション 9.3.1 参照
StrWhiteSpaceopt
StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt
StrWhiteSpace ::: セクション 9.3.1 参照
StrWhiteSpaceChar StrWhiteSpaceopt
StrWhiteSpaceChar ::: セクション 9.3.1 参照
<TAB>
<SP>
<NBSP>
<FF>
<VT>
<CR>
<LF>
<LS>
<PS>
<USP>
StrNumericLiteral ::: セクション 9.3.1 参照
StrDecimalLiteral
HexIntegerLiteral
StrDecimalLiteral ::: セクション 9.3.1 参照
StrUnsignedDecimalLiteral
StrWhiteSpaceopt
StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt
StrWhiteSpace ::: セクション 9.3.1 参照
StrWhiteSpaceChar StrWhiteSpaceopt
StrWhiteSpaceChar ::: セクション 9.3.1 参照
<TAB>
<SP>
<NBSP>
<FF>
<VT>
<CR>
<LF>
<LS>
<PS>
<USP>
StrNumericLiteral ::: セクション 9.3.1 参照
StrDecimalLiteral
HexIntegerLiteral
StrDecimalLiteral ::: セクション 9.3.1 参照
StrUnsignedDecimalLiteral
- StrUnsignedDecimalLiteral
- StrUnsignedDecimalLiteral
StrUnsignedDecimalLiteral ::: セクション 9.3.1 参照
Infinity
DecimalDigits . DecimalDigitsopt ExponentPartopt
. DecimalDigits ExponentPartopt
DecimalDigits ExponentPartopt
DecimalDigits ::: セクション 9.3.1 参照
DecimalDigit
DecimalDigits DecimalDigit
DecimalDigit ::: one of セクション 9.3.1 参照
0 1 2 3 4 5 6 7 8 9
ExponentPart ::: セクション 9.3.1 参照
ExponentIndicator SignedInteger
ExponentIndicator ::: one of セクション 9.3.1 参照
e E
SignedInteger ::: セクション 9.3.1 参照
DecimalDigits
Infinity
DecimalDigits . DecimalDigitsopt ExponentPartopt
. DecimalDigits ExponentPartopt
DecimalDigits ExponentPartopt
DecimalDigits ::: セクション 9.3.1 参照
DecimalDigit
DecimalDigits DecimalDigit
DecimalDigit ::: one of セクション 9.3.1 参照
0 1 2 3 4 5 6 7 8 9
ExponentPart ::: セクション 9.3.1 参照
ExponentIndicator SignedInteger
ExponentIndicator ::: one of セクション 9.3.1 参照
e E
SignedInteger ::: セクション 9.3.1 参照
DecimalDigits
- DecimalDigits
- DecimalDigits
HexIntegerLiteral ::: セクション 9.3.1 参照
0x HexDigit
0X HexDigit
HexIntegerLiteral HexDigit
HexDigit ::: one of セクション 9.3.1 参照
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
A.3 式 (Expressions)
0x HexDigit
0X HexDigit
HexIntegerLiteral HexDigit
HexDigit ::: one of セクション 9.3.1 参照
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
A.3 式 (Expressions)
PrimaryExpression : セクション 11.1 参照
this
Identifier
Literal
ArrayLiteral
ObjectLiteral
( Expression )
ArrayLiteral : セクション 11.1.4 参照
[ Elisionopt ]
[ ElementList ]
[ ElementList , Elisionopt ]
ElementList : セクション 11.1.4 参照
Elisionopt AssignmentExpression
ElementList , Elisionopt AssignmentExpression
Elision : セクション 11.1.4 参照
,
Elision ,
ObjectLiteral : セクション 11.1.5 参照
{ }
{ PropertyNameAndValueList }
PropertyNameAndValueList : セクション 11.1.5 参照
PropertyName : AssignmentExpression
PropertyNameAndValueList , PropertyName : AssignmentExpression
PropertyName : セクション 11.1.5 参照
Identifier
StringLiteral
NumericLiteral
MemberExpression : セクション 11.2 参照
PrimaryExpression
FunctionExpression
MemberExpression [ Expression ]
MemberExpression . Identifier
new MemberExpression Arguments
NewExpression : セクション 11.2 参照
MemberExpression
new NewExpression
CallExpression : セクション 11.2 参照
MemberExpression Arguments
CallExpression Arguments
CallExpression [ Expression ]
CallExpression . Identifier
Arguments : セクション 11.2 参照
( )
( ArgumentList )
ArgumentList : セクション 11.2 参照
AssignmentExpression
ArgumentList , AssignmentExpression
LeftHandSideExpression : セクション 11.2 参照
NewExpression
CallExpression
PostfixExpression : セクション 11.3 参照
LeftHandSideExpression
LeftHandSideExpression [LineTerminator 無し] ++
LeftHandSideExpression [LineTerminator 無し] --
UnaryExpression : セクション 11.4 参照
PostfixExpression
delete UnaryExpression
void UnaryExpression
typeof UnaryExpression
this
Identifier
Literal
ArrayLiteral
ObjectLiteral
( Expression )
ArrayLiteral : セクション 11.1.4 参照
[ Elisionopt ]
[ ElementList ]
[ ElementList , Elisionopt ]
ElementList : セクション 11.1.4 参照
Elisionopt AssignmentExpression
ElementList , Elisionopt AssignmentExpression
Elision : セクション 11.1.4 参照
,
Elision ,
ObjectLiteral : セクション 11.1.5 参照
{ }
{ PropertyNameAndValueList }
PropertyNameAndValueList : セクション 11.1.5 参照
PropertyName : AssignmentExpression
PropertyNameAndValueList , PropertyName : AssignmentExpression
PropertyName : セクション 11.1.5 参照
Identifier
StringLiteral
NumericLiteral
MemberExpression : セクション 11.2 参照
PrimaryExpression
FunctionExpression
MemberExpression [ Expression ]
MemberExpression . Identifier
new MemberExpression Arguments
NewExpression : セクション 11.2 参照
MemberExpression
new NewExpression
CallExpression : セクション 11.2 参照
MemberExpression Arguments
CallExpression Arguments
CallExpression [ Expression ]
CallExpression . Identifier
Arguments : セクション 11.2 参照
( )
( ArgumentList )
ArgumentList : セクション 11.2 参照
AssignmentExpression
ArgumentList , AssignmentExpression
LeftHandSideExpression : セクション 11.2 参照
NewExpression
CallExpression
PostfixExpression : セクション 11.3 参照
LeftHandSideExpression
LeftHandSideExpression [LineTerminator 無し] ++
LeftHandSideExpression [LineTerminator 無し] --
UnaryExpression : セクション 11.4 参照
PostfixExpression
delete UnaryExpression
void UnaryExpression
typeof UnaryExpression
- UnaryExpression
- UnaryExpression
- UnaryExpression
- UnaryExpression
~ UnaryExpression
! UnaryExpression
MultiplicativeExpression : セクション 11.5 参照
UnaryExpression
MultiplicativeExpression * UnaryExpression
MultiplicativeExpression / UnaryExpression
MultiplicativeExpression % UnaryExpression
AdditiveExpression : セクション 11.6 参照
MultiplicativeExpression
AdditiveExpression + MultiplicativeExpression
AdditiveExpression - MultiplicativeExpression
ShiftExpression : セクション 11.7 参照
AdditiveExpression
ShiftExpression << AdditiveExpression
ShiftExpression >> AdditiveExpression
ShiftExpression >>> AdditiveExpression
RelationalExpression : セクション 11.8 参照
ShiftExpression
RelationalExpression < ShiftExpression
RelationalExpression > ShiftExpression
RelationalExpression <= ShiftExpression
RelationalExpression >= ShiftExpression
RelationalExpression instanceof ShiftExpression
RelationalExpression in ShiftExpression
RelationalExpressionNoIn : セクション 11.8 参照
ShiftExpression
RelationalExpressionNoIn < ShiftExpression
RelationalExpressionNoIn > ShiftExpression
RelationalExpressionNoIn <= ShiftExpression
RelationalExpressionNoIn >= ShiftExpression
RelationalExpressionNoIn instanceof ShiftExpression
EqualityExpression : セクション 11.9 参照
RelationalExpression
EqualityExpression == RelationalExpression
EqualityExpression != RelationalExpression
EqualityExpression === RelationalExpression
EqualityExpression !== RelationalExpression
EqualityExpressionNoIn : セクション 11.9 参照
RelationalExpressionNoIn
EqualityExpressionNoIn == RelationalExpressionNoIn
EqualityExpressionNoIn != RelationalExpressionNoIn
EqualityExpressionNoIn === RelationalExpressionNoIn
EqualityExpressionNoIn !== RelationalExpressionNoIn
BitwiseANDExpression : セクション 11.10 参照
EqualityExpression
BitwiseANDExpression & EqualityExpression
BitwiseANDExpressionNoIn : セクション 11.10 参照
EqualityExpressionNoIn
BitwiseANDExpressionNoIn & EqualityExpressionNoIn
BitwiseXORExpression : セクション 11.10 参照
BitwiseANDExpression
BitwiseXORExpression ^ BitwiseANDExpression
BitwiseXORExpressionNoIn : セクション 11.10 参照
BitwiseANDExpressionNoIn
BitwiseXORExpressionNoIn ^ BitwiseANDExpressionNoIn
BitwiseORExpression : セクション 11.10 参照
BitwiseXORExpression
BitwiseORExpression | BitwiseXORExpression
BitwiseORExpressionNoIn : セクション 11.10 参照
BitwiseXORExpressionNoIn
BitwiseORExpressionNoIn | BitwiseXORExpressionNoIn
LogicalANDExpression : セクション 11.11 参照
BitwiseORExpression
LogicalANDExpression && BitwiseORExpression
LogicalANDExpressionNoIn : セクション 11.11 参照
BitwiseORExpressionNoIn
LogicalANDExpressionNoIn && BitwiseORExpressionNoIn
LogicalORExpression : セクション 11.11 参照
LogicalANDExpression
LogicalORExpression || LogicalANDExpression
LogicalORExpressionNoIn : セクション 11.11 参照
LogicalANDExpressionNoIn
LogicalORExpressionNoIn || LogicalANDExpressionNoIn
ConditionalExpression : セクション 11.12 参照
LogicalORExpression
LogicalORExpression ? AssignmentExpression : AssignmentExpression
ConditionalExpressionNoIn : セクション 11.12 参照
LogicalORExpressionNoIn
LogicalORExpressionNoIn ? AssignmentExpressionNoIn : AssignmentExpressionNoIn
AssignmentExpression : セクション 11.13 参照
ConditionalExpression
LeftHandSideExpression AssignmentOperator AssignmentExpression
AssignmentExpressionNoIn : セクション 11.13 参照
ConditionalExpressionNoIn
LeftHandSideExpression AssignmentOperator AssignmentExpressionNoIn
AssignmentOperator : one of セクション 11.13 参照
= *= /= %= += -= <<= >>= >>>= &= ^= |=
Expression : セクション 11.14 参照
AssignmentExpression
Expression , AssignmentExpression
ExpressionNoIn : セクション 11.14 参照
AssignmentExpressionNoIn
ExpressionNoIn , AssignmentExpressionNoIn
A.4 文 (Statements)
! UnaryExpression
MultiplicativeExpression : セクション 11.5 参照
UnaryExpression
MultiplicativeExpression * UnaryExpression
MultiplicativeExpression / UnaryExpression
MultiplicativeExpression % UnaryExpression
AdditiveExpression : セクション 11.6 参照
MultiplicativeExpression
AdditiveExpression + MultiplicativeExpression
AdditiveExpression - MultiplicativeExpression
ShiftExpression : セクション 11.7 参照
AdditiveExpression
ShiftExpression << AdditiveExpression
ShiftExpression >> AdditiveExpression
ShiftExpression >>> AdditiveExpression
RelationalExpression : セクション 11.8 参照
ShiftExpression
RelationalExpression < ShiftExpression
RelationalExpression > ShiftExpression
RelationalExpression <= ShiftExpression
RelationalExpression >= ShiftExpression
RelationalExpression instanceof ShiftExpression
RelationalExpression in ShiftExpression
RelationalExpressionNoIn : セクション 11.8 参照
ShiftExpression
RelationalExpressionNoIn < ShiftExpression
RelationalExpressionNoIn > ShiftExpression
RelationalExpressionNoIn <= ShiftExpression
RelationalExpressionNoIn >= ShiftExpression
RelationalExpressionNoIn instanceof ShiftExpression
EqualityExpression : セクション 11.9 参照
RelationalExpression
EqualityExpression == RelationalExpression
EqualityExpression != RelationalExpression
EqualityExpression === RelationalExpression
EqualityExpression !== RelationalExpression
EqualityExpressionNoIn : セクション 11.9 参照
RelationalExpressionNoIn
EqualityExpressionNoIn == RelationalExpressionNoIn
EqualityExpressionNoIn != RelationalExpressionNoIn
EqualityExpressionNoIn === RelationalExpressionNoIn
EqualityExpressionNoIn !== RelationalExpressionNoIn
BitwiseANDExpression : セクション 11.10 参照
EqualityExpression
BitwiseANDExpression & EqualityExpression
BitwiseANDExpressionNoIn : セクション 11.10 参照
EqualityExpressionNoIn
BitwiseANDExpressionNoIn & EqualityExpressionNoIn
BitwiseXORExpression : セクション 11.10 参照
BitwiseANDExpression
BitwiseXORExpression ^ BitwiseANDExpression
BitwiseXORExpressionNoIn : セクション 11.10 参照
BitwiseANDExpressionNoIn
BitwiseXORExpressionNoIn ^ BitwiseANDExpressionNoIn
BitwiseORExpression : セクション 11.10 参照
BitwiseXORExpression
BitwiseORExpression | BitwiseXORExpression
BitwiseORExpressionNoIn : セクション 11.10 参照
BitwiseXORExpressionNoIn
BitwiseORExpressionNoIn | BitwiseXORExpressionNoIn
LogicalANDExpression : セクション 11.11 参照
BitwiseORExpression
LogicalANDExpression && BitwiseORExpression
LogicalANDExpressionNoIn : セクション 11.11 参照
BitwiseORExpressionNoIn
LogicalANDExpressionNoIn && BitwiseORExpressionNoIn
LogicalORExpression : セクション 11.11 参照
LogicalANDExpression
LogicalORExpression || LogicalANDExpression
LogicalORExpressionNoIn : セクション 11.11 参照
LogicalANDExpressionNoIn
LogicalORExpressionNoIn || LogicalANDExpressionNoIn
ConditionalExpression : セクション 11.12 参照
LogicalORExpression
LogicalORExpression ? AssignmentExpression : AssignmentExpression
ConditionalExpressionNoIn : セクション 11.12 参照
LogicalORExpressionNoIn
LogicalORExpressionNoIn ? AssignmentExpressionNoIn : AssignmentExpressionNoIn
AssignmentExpression : セクション 11.13 参照
ConditionalExpression
LeftHandSideExpression AssignmentOperator AssignmentExpression
AssignmentExpressionNoIn : セクション 11.13 参照
ConditionalExpressionNoIn
LeftHandSideExpression AssignmentOperator AssignmentExpressionNoIn
AssignmentOperator : one of セクション 11.13 参照
= *= /= %= += -= <<= >>= >>>= &= ^= |=
Expression : セクション 11.14 参照
AssignmentExpression
Expression , AssignmentExpression
ExpressionNoIn : セクション 11.14 参照
AssignmentExpressionNoIn
ExpressionNoIn , AssignmentExpressionNoIn
A.4 文 (Statements)
Statement : セクション 12 参照
Block
VariableStatement
EmptyStatement
ExpressionStatement
IfStatement
IterationStatement
ContinueStatement
BreakStatement
ReturnStatement
WithStatement
LabelledStatement
SwitchStatement
ThrowStatement
TryStatement
Block : セクション 12.1 参照
{ StatementListopt }
StatementList : セクション 12.1 参照
Statement
StatementList Statement
VariableStatement : セクション 12.2 参照
var VariableDeclarationList ;
VariableDeclarationList : セクション 12.2 参照
VariableDeclaration
VariableDeclarationList , VariableDeclaration
VariableDeclarationListNoIn : セクション 12.2 参照
VariableDeclarationNoIn
VariableDeclarationListNoIn , VariableDeclarationNoIn
VariableDeclaration : セクション 12.2 参照
Identifier Initialiseropt
VariableDeclarationNoIn : セクション 12.2 参照
Identifier InitialiserNoInopt
Initialiser : セクション 12.2 参照
= AssignmentExpression
InitialiserNoIn : セクション 12.2 参照
= AssignmentExpressionNoIn
EmptyStatement : セクション 12.3 参照
;
ExpressionStatement : セクション 12.4 参照
[lookahead ∉ {{, function} ] Expression ;
IfStatement : セクション 12.5 参照
if ( Expression ) Statement else Statement
if ( Expression ) Statement
IterationStatement : セクション 12.6 参照
do Statement while ( Expression );
while ( Expression ) Statement
for (ExpressionNoInopt; Expressionopt ; Expressionopt ) Statement
for ( var VariableDeclarationListNoIn; Expressionopt ; Expressionopt ) Statement
for ( LeftHandSideExpression in Expression ) Statement
for ( var VariableDeclarationNoIn in Expression ) Statement
ContinueStatement : セクション 12.7 参照
continue [LineTerminator 無し] Identifieropt ;
BreakStatement : セクション 12.8 参照
break [LineTerminator 無し] Identifieropt ;
ReturnStatement : セクション 12.9 参照
return [LineTerminator 無し] Expressionopt ;
WithStatement : セクション 12.10 参照
with ( Expression ) Statement
SwitchStatement : セクション 12.11 参照
switch ( Expression ) CaseBlock
CaseBlock : セクション 12.11 参照
{ CaseClausesopt }
{ CaseClausesopt DefaultClause CaseClausesopt }
CaseClauses : セクション 12.11 参照
CaseClause
CaseClauses CaseClause
CaseClause : セクション 12.11 参照
case Expression : StatementListopt
DefaultClause : セクション 12.11 参照
default : StatementListopt
LabelledStatement : セクション 12.12 参照
Identifier : Statement
ThrowStatement : セクション 12.13 参照
throw [LineTerminator 無し] Expression ;
TryStatement : セクション 12.14 参照
try Block Catch
try Block Finally
try Block Catch Finally
Catch : セクション 12.14 参照
catch ( Identifier ) Block
Finally : セクション 12.14 参照
finally Block
A.5 関数およびプログラム (Functions and Programs)
Block
VariableStatement
EmptyStatement
ExpressionStatement
IfStatement
IterationStatement
ContinueStatement
BreakStatement
ReturnStatement
WithStatement
LabelledStatement
SwitchStatement
ThrowStatement
TryStatement
Block : セクション 12.1 参照
{ StatementListopt }
StatementList : セクション 12.1 参照
Statement
StatementList Statement
VariableStatement : セクション 12.2 参照
var VariableDeclarationList ;
VariableDeclarationList : セクション 12.2 参照
VariableDeclaration
VariableDeclarationList , VariableDeclaration
VariableDeclarationListNoIn : セクション 12.2 参照
VariableDeclarationNoIn
VariableDeclarationListNoIn , VariableDeclarationNoIn
VariableDeclaration : セクション 12.2 参照
Identifier Initialiseropt
VariableDeclarationNoIn : セクション 12.2 参照
Identifier InitialiserNoInopt
Initialiser : セクション 12.2 参照
= AssignmentExpression
InitialiserNoIn : セクション 12.2 参照
= AssignmentExpressionNoIn
EmptyStatement : セクション 12.3 参照
;
ExpressionStatement : セクション 12.4 参照
[lookahead ∉ {{, function} ] Expression ;
IfStatement : セクション 12.5 参照
if ( Expression ) Statement else Statement
if ( Expression ) Statement
IterationStatement : セクション 12.6 参照
do Statement while ( Expression );
while ( Expression ) Statement
for (ExpressionNoInopt; Expressionopt ; Expressionopt ) Statement
for ( var VariableDeclarationListNoIn; Expressionopt ; Expressionopt ) Statement
for ( LeftHandSideExpression in Expression ) Statement
for ( var VariableDeclarationNoIn in Expression ) Statement
ContinueStatement : セクション 12.7 参照
continue [LineTerminator 無し] Identifieropt ;
BreakStatement : セクション 12.8 参照
break [LineTerminator 無し] Identifieropt ;
ReturnStatement : セクション 12.9 参照
return [LineTerminator 無し] Expressionopt ;
WithStatement : セクション 12.10 参照
with ( Expression ) Statement
SwitchStatement : セクション 12.11 参照
switch ( Expression ) CaseBlock
CaseBlock : セクション 12.11 参照
{ CaseClausesopt }
{ CaseClausesopt DefaultClause CaseClausesopt }
CaseClauses : セクション 12.11 参照
CaseClause
CaseClauses CaseClause
CaseClause : セクション 12.11 参照
case Expression : StatementListopt
DefaultClause : セクション 12.11 参照
default : StatementListopt
LabelledStatement : セクション 12.12 参照
Identifier : Statement
ThrowStatement : セクション 12.13 参照
throw [LineTerminator 無し] Expression ;
TryStatement : セクション 12.14 参照
try Block Catch
try Block Finally
try Block Catch Finally
Catch : セクション 12.14 参照
catch ( Identifier ) Block
Finally : セクション 12.14 参照
finally Block
A.5 関数およびプログラム (Functions and Programs)
FunctionDeclaration : セクション 13 参照
function Identifier ( FormalParameterListopt ) { FunctionBody }
FunctionExpression : セクション 13 参照
function Identifieropt ( FormalParameterListopt ) { FunctionBody }
FormalParameterList : セクション 13 参照
Identifier
FormalParameterList , Identifier
FunctionBody : セクション 13 参照
SourceElements
Program : セクション 14 参照
SourceElements
SourceElements : セクション 14 参照
SourceElement
SourceElements SourceElement
SourceElement : セクション 14 参照
Statement
FunctionDeclaration
A.6 URI 文字クラス (Universal Resource Identifier Character Classes)
function Identifier ( FormalParameterListopt ) { FunctionBody }
FunctionExpression : セクション 13 参照
function Identifieropt ( FormalParameterListopt ) { FunctionBody }
FormalParameterList : セクション 13 参照
Identifier
FormalParameterList , Identifier
FunctionBody : セクション 13 参照
SourceElements
Program : セクション 14 参照
SourceElements
SourceElements : セクション 14 参照
SourceElement
SourceElements SourceElement
SourceElement : セクション 14 参照
Statement
FunctionDeclaration
A.6 URI 文字クラス (Universal Resource Identifier Character Classes)
uri ::: セクション 15.1.3 参照
uriCharactersopt
uriCharacters ::: セクション 15.1.3 参照
uriCharacter uriCharactersopt
uriCharacter ::: セクション 15.1.3 参照
uriReserved
uriUnescaped
uriEscaped
uriReserved ::: one of セクション 15.1.3 参照
; / ? : @ & = + $ ,
uriUnescaped ::: セクション 15.1.3 参照
uriAlpha
DecimalDigit
uriMark
uriEscaped ::: セクション 15.1.3 参照
% HexDigit HexDigit
uriAlpha ::: one of セクション 15.1.3 参照
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
uriMark ::: one of セクション 15.1.3 参照
uriCharactersopt
uriCharacters ::: セクション 15.1.3 参照
uriCharacter uriCharactersopt
uriCharacter ::: セクション 15.1.3 参照
uriReserved
uriUnescaped
uriEscaped
uriReserved ::: one of セクション 15.1.3 参照
; / ? : @ & = + $ ,
uriUnescaped ::: セクション 15.1.3 参照
uriAlpha
DecimalDigit
uriMark
uriEscaped ::: セクション 15.1.3 参照
% HexDigit HexDigit
uriAlpha ::: one of セクション 15.1.3 参照
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
uriMark ::: one of セクション 15.1.3 参照
- _ . ! ~ * ' ( )
A.7 正規表現 (Regular Expressions)
Pattern :: セクション 15.10.1 参照
Disjunction
Disjunction :: セクション 15.10.1 参照
Alternative
Alternative | Disjunction
Alternative :: セクション 15.10.1 参照
[empty]
Alternative Term
Term :: セクション 15.10.1 参照
Assertion
Atom
Atom Quantifier
Assertion :: セクション 15.10.1 参照
^
$
\ b
\ B
Quantifier :: セクション 15.10.1 参照
QuantifierPrefix
QuantifierPrefix ?
QuantifierPrefix :: セクション 15.10.1 参照
*
Disjunction
Disjunction :: セクション 15.10.1 参照
Alternative
Alternative | Disjunction
Alternative :: セクション 15.10.1 参照
[empty]
Alternative Term
Term :: セクション 15.10.1 参照
Assertion
Atom
Atom Quantifier
Assertion :: セクション 15.10.1 参照
^
$
\ b
\ B
Quantifier :: セクション 15.10.1 参照
QuantifierPrefix
QuantifierPrefix ?
QuantifierPrefix :: セクション 15.10.1 参照
*
?
{ DecimalDigits }
{ DecimalDigits , }
{ DecimalDigits , DecimalDigits }
Atom :: セクション 15.10.1 参照
PatternCharacter
.
\ AtomEscape
CharacterClass
( Disjunction )
( ? : Disjunction )
( ? = Disjunction )
( ? ! Disjunction )
PatternCharacter :: SourceCharacter but not any of: セクション 15.10.1 参照
^ $ \ . * + ? ( ) [ ] { } |
AtomEscape :: セクション 15.10.1 参照
DecimalEscape
CharacterEscape
CharacterClassEscape
CharacterEscape :: セクション 15.10.1 参照
ControlEscape
c ControlLetter
HexEscapeSequence
UnicodeEscapeSequence
IdentityEscape
ControlEscape :: one of セクション 15.10.1 参照
f n r t v
ControlLetter :: one of セクション 15.10.1 参照
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
IdentityEscape :: セクション 15.10.1 参照
SourceCharacter but not IdentifierPart
DecimalEscape :: セクション 15.10.1 参照
DecimalIntegerLiteral [lookahead ∉ DecimalDigit]
CharacterClass :: セクション 15.10.1 参照
[ [lookahead ∉ {^} ] ClassRanges ]
[ ^ ClassRanges ]
ClassRanges :: セクション 15.10.1 参照
[empty]
NonemptyClassRanges
NonemptyClassRanges :: セクション 15.10.1 参照
ClassAtom
ClassAtom NonemptyClassRangesNoDash
ClassAtom - ClassAtom ClassRanges
NonemptyClassRangesNoDash :: セクション 15.10.1 参照
ClassAtom
ClassAtomNoDash NonemptyClassRangesNoDash
ClassAtomNoDash - ClassAtom ClassRanges
ClassAtom :: セクション 15.10.1 参照
{ DecimalDigits }
{ DecimalDigits , }
{ DecimalDigits , DecimalDigits }
Atom :: セクション 15.10.1 参照
PatternCharacter
.
\ AtomEscape
CharacterClass
( Disjunction )
( ? : Disjunction )
( ? = Disjunction )
( ? ! Disjunction )
PatternCharacter :: SourceCharacter but not any of: セクション 15.10.1 参照
^ $ \ . * + ? ( ) [ ] { } |
AtomEscape :: セクション 15.10.1 参照
DecimalEscape
CharacterEscape
CharacterClassEscape
CharacterEscape :: セクション 15.10.1 参照
ControlEscape
c ControlLetter
HexEscapeSequence
UnicodeEscapeSequence
IdentityEscape
ControlEscape :: one of セクション 15.10.1 参照
f n r t v
ControlLetter :: one of セクション 15.10.1 参照
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
IdentityEscape :: セクション 15.10.1 参照
SourceCharacter but not IdentifierPart
DecimalEscape :: セクション 15.10.1 参照
DecimalIntegerLiteral [lookahead ∉ DecimalDigit]
CharacterClass :: セクション 15.10.1 参照
[ [lookahead ∉ {^} ] ClassRanges ]
[ ^ ClassRanges ]
ClassRanges :: セクション 15.10.1 参照
[empty]
NonemptyClassRanges
NonemptyClassRanges :: セクション 15.10.1 参照
ClassAtom
ClassAtom NonemptyClassRangesNoDash
ClassAtom - ClassAtom ClassRanges
NonemptyClassRangesNoDash :: セクション 15.10.1 参照
ClassAtom
ClassAtomNoDash NonemptyClassRangesNoDash
ClassAtomNoDash - ClassAtom ClassRanges
ClassAtom :: セクション 15.10.1 参照
ClassAtomNoDash
ClassAtomNoDash :: セクション 15.10.1 参照
SourceCharacter but not one of \ ] -
\ ClassEscape
ClassEscape :: セクション 15.10.1 参照
DecimalEscape
b
CharacterEscape
CharacterClassEscapeB 互換性 (Compatibility)
ClassAtomNoDash :: セクション 15.10.1 参照
SourceCharacter but not one of \ ] -
\ ClassEscape
ClassEscape :: セクション 15.10.1 参照
DecimalEscape
b
CharacterEscape
CharacterClassEscapeB 互換性 (Compatibility)
B.1 追加構文 (Additional Syntax)
過去の版の ECMAScript は、 8 進数リテラルと 8 進数エスケープシーケンスを規定する追加の構文と意味論を含んでいた。それらはこの版の ECMAScript からは取り除かれている。この非公式の補遺は、古い ECMAScript プログラムとの互換性のための 8 進数リテラルと 8 進数エスケープシーケンスの統一構文及び意味論を提示する。
B.1.1 数値リテラル (Numeric Literals)
B.1.1 数値リテラル (Numeric Literals)
セクション 7.8.3 の構文及び意味論を次のように拡張できる:
Syntax
NumericLiteral ::
DecimalLiteral
HexIntegerLiteral
OctalIntegerLiteral
OctalIntegerLiteral ::
0 OctalDigit
OctalIntegerLiteral OctalDigit
Semantics
NumericLiteral :: OctalIntegerLiteral の数学値は OctalIntegerLiteral の数学値である。
OctalDigit :: 0 の数学値は 0 である。
OctalDigit :: 1 の数学値は 1 である。
OctalDigit :: 2 の数学値は 2 である。
OctalDigit :: 3 の数学値は 3 である。
OctalDigit :: 4 の数学値は 4 である。
OctalDigit :: 5 の数学値は 5 である。
OctalDigit :: 6 の数学値は 6 である。
OctalDigit :: 7 の数学値は 7 である。
OctalIntegerLiteral :: 0 OctalDigit の数学値は OctalDigit の数学値である。
OctalIntegerLiteral :: OctalIntegerLiteral OctalDigit の数学値は (OctalIntegerLiteral × 8 の数学値) + OctalDigit の数学値である。
B.1.2 文字列リテラル
Syntax
NumericLiteral ::
DecimalLiteral
HexIntegerLiteral
OctalIntegerLiteral
OctalIntegerLiteral ::
0 OctalDigit
OctalIntegerLiteral OctalDigit
Semantics
NumericLiteral :: OctalIntegerLiteral の数学値は OctalIntegerLiteral の数学値である。
OctalDigit :: 0 の数学値は 0 である。
OctalDigit :: 1 の数学値は 1 である。
OctalDigit :: 2 の数学値は 2 である。
OctalDigit :: 3 の数学値は 3 である。
OctalDigit :: 4 の数学値は 4 である。
OctalDigit :: 5 の数学値は 5 である。
OctalDigit :: 6 の数学値は 6 である。
OctalDigit :: 7 の数学値は 7 である。
OctalIntegerLiteral :: 0 OctalDigit の数学値は OctalDigit の数学値である。
OctalIntegerLiteral :: OctalIntegerLiteral OctalDigit の数学値は (OctalIntegerLiteral × 8 の数学値) + OctalDigit の数学値である。
B.1.2 文字列リテラル
セクション 7.8.4 の構文及び意味論を次のように拡張できる:
Syntax
EscapeSequence ::
CharacterEscapeSequence
OctalEscapeSequence
HexEscapeSequence
UnicodeEscapeSequence
OctalEscapeSequence ::
OctalDigit [lookahead ∉ DecimalDigit]
ZeroToThree OctalDigit [lookahead ∉ DecimalDigit]
FourToSeven OctalDigit
ZeroToThree OctalDigit OctalDigit
ZeroToThree :: one of
0 1 2 3
FourToSeven :: one of
4 5 6 7
Semantics
EscapeSequence :: OctalEscapeSequence の文字値は、 OctalEscapeSequence の文字値である。
OctalEscapeSequence :: OctalDigit [lookahead ∉ DecimalDigit] の文字値は、コードポイント値が OctalDigit の数学値である文字である。
OctalEscapeSequence :: ZeroToThree OctalDigit [lookahead ∉ DecimalDigit] の文字値は、コードポイント値が (8 × ZeroToThree の数学値) + OctalDigit の数学値 である文字である。
OctalEscapeSequence :: FourToSeven OctalDigit の文字値は、コードポイント値が (8 × FourToSeven の数学値) + OctalDigit の数学値 である文字である。
OctalEscapeSequence :: ZeroToThree OctalDigit OctalDigit の文字値は、コードポイント値が (64 (すなわち 82) × ZeroToThree の数学値) + (8 × 1 個目の OctalDigit の数学値) + 2 個目の OctalDigit の数学値 である文字である。
ZeroToThree :: 0 の数学値は 0 である。
ZeroToThree :: 1 の数学値は 1 である。
ZeroToThree :: 2 の数学値は 2 である。
ZeroToThree :: 3 の数学値は 3 である。
FourToSeven :: 4 の数学値は 4 である。
FourToSeven :: 5 の数学値は 5 である。
FourToSeven :: 6 の数学値は 6 である。
FourToSeven :: 7 の数学値は 7 である。
B.2 追加プロパティ (Additional Properties)
Syntax
EscapeSequence ::
CharacterEscapeSequence
OctalEscapeSequence
HexEscapeSequence
UnicodeEscapeSequence
OctalEscapeSequence ::
OctalDigit [lookahead ∉ DecimalDigit]
ZeroToThree OctalDigit [lookahead ∉ DecimalDigit]
FourToSeven OctalDigit
ZeroToThree OctalDigit OctalDigit
ZeroToThree :: one of
0 1 2 3
FourToSeven :: one of
4 5 6 7
Semantics
EscapeSequence :: OctalEscapeSequence の文字値は、 OctalEscapeSequence の文字値である。
OctalEscapeSequence :: OctalDigit [lookahead ∉ DecimalDigit] の文字値は、コードポイント値が OctalDigit の数学値である文字である。
OctalEscapeSequence :: ZeroToThree OctalDigit [lookahead ∉ DecimalDigit] の文字値は、コードポイント値が (8 × ZeroToThree の数学値) + OctalDigit の数学値 である文字である。
OctalEscapeSequence :: FourToSeven OctalDigit の文字値は、コードポイント値が (8 × FourToSeven の数学値) + OctalDigit の数学値 である文字である。
OctalEscapeSequence :: ZeroToThree OctalDigit OctalDigit の文字値は、コードポイント値が (64 (すなわち 82) × ZeroToThree の数学値) + (8 × 1 個目の OctalDigit の数学値) + 2 個目の OctalDigit の数学値 である文字である。
ZeroToThree :: 0 の数学値は 0 である。
ZeroToThree :: 1 の数学値は 1 である。
ZeroToThree :: 2 の数学値は 2 である。
ZeroToThree :: 3 の数学値は 3 である。
FourToSeven :: 4 の数学値は 4 である。
FourToSeven :: 5 の数学値は 5 である。
FourToSeven :: 6 の数学値は 6 である。
FourToSeven :: 7 の数学値は 7 である。
B.2 追加プロパティ (Additional Properties)
ECMAScript 実装には標準ネイティブオブジェクトにいくつかの追加プロパティを持つものがある。この非公式の補遺は、そのようなプロパティのために本標準にプロパティまたその意味論作成はせずに、統一形式の意味論を示唆する。
B.2.1 escape (string)
B.2.1 escape (string)
escape 関数はグローバルオブジェクトのプロパティである。これは、ある文字を16進数のエスケープシーケンスに置換した新たな文字列を算出する。
置き換えられる文字のコードポイント値が 0xFF 以下である場合、 %xx 形式の 2 桁のエスケープシーケンスが用いられる。置き換えられる文字のコードポイント値が 0xFF を超える場合、 %uxxxx 形式の 4 桁のエスケープシーケンスが用いられる。
escape 関数が 1 個の引数 string で呼び出されるとき、次のステップが取られる:
ToString(string) を呼び出す。
Result(1) 内の文字数を算出する。
R を空文字列とする。
k を 0 とする。
k が Result(2) と等しいならば R を返す。
Result(1) 内部の位置 k の文字 (16ビット符号なし整数で表される) を取得する。
Result(6) が 69 個の非空白文字
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@*_+-./" のうちの一つならば、ステップ 13 へ。
Result(6) が 256 未満ならば、ステップ 11 へ。
S を 6 個の文字 "%uwxyz" で構成する文字列とする。 wxyz のところは Resulr(6) の値を符号化する 4 個の 16 進数字である。
ステップ 14 へ。
S を 3 個の文字 "%xy" で構成する文字列とする。 xy のところは Resulr(6) の値を符号化する 2 個の 16 進数字である。
ステップ 14 へ。
S を単一の文字 Result(6) を含む文字列とする。
R を、 R の前の値と S を連結して算出した新しい文字列とする。
k を 1 増分する。
ステップ 5 へ。
NOTE 符号化は部分的に RFC1738 に記述される符号化に基づいているが、本標準で規定する完全な符号化は RFC1738 の内容を考慮せず上述される。
B.2.2 unescape (string)
置き換えられる文字のコードポイント値が 0xFF 以下である場合、 %xx 形式の 2 桁のエスケープシーケンスが用いられる。置き換えられる文字のコードポイント値が 0xFF を超える場合、 %uxxxx 形式の 4 桁のエスケープシーケンスが用いられる。
escape 関数が 1 個の引数 string で呼び出されるとき、次のステップが取られる:
ToString(string) を呼び出す。
Result(1) 内の文字数を算出する。
R を空文字列とする。
k を 0 とする。
k が Result(2) と等しいならば R を返す。
Result(1) 内部の位置 k の文字 (16ビット符号なし整数で表される) を取得する。
Result(6) が 69 個の非空白文字
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@*_+-./" のうちの一つならば、ステップ 13 へ。
Result(6) が 256 未満ならば、ステップ 11 へ。
S を 6 個の文字 "%uwxyz" で構成する文字列とする。 wxyz のところは Resulr(6) の値を符号化する 4 個の 16 進数字である。
ステップ 14 へ。
S を 3 個の文字 "%xy" で構成する文字列とする。 xy のところは Resulr(6) の値を符号化する 2 個の 16 進数字である。
ステップ 14 へ。
S を単一の文字 Result(6) を含む文字列とする。
R を、 R の前の値と S を連結して算出した新しい文字列とする。
k を 1 増分する。
ステップ 5 へ。
NOTE 符号化は部分的に RFC1738 に記述される符号化に基づいているが、本標準で規定する完全な符号化は RFC1738 の内容を考慮せず上述される。
B.2.2 unescape (string)
unescape 関数はグローバルオブジェクトのプロパティである。これは escape 関数が生成しうる並びの各エスケープシーケンスがその表す文字で置き換えられた新しい文字列値を算出する。
unescape 関数が 1 個の引数 string で呼び出されるとき、次のステップが取られる:
ToString(string) を呼び出す。
Result(1) の文字数を算出する。
R を空文字列とする。
k を 0 とする。
k と Result(2) が等しいならば、 R を返す。
c を Result(1) 内部の位置 k の文字とする。
c が % でないならば、ステップ 18 へ。
k が Result(2)-6 より大きいならば、ステップ 14 へ。
Result(1) 内部の位置 k+1 の文字が u でないならば、ステップ 14 へ。
Result(1) 内部の位置 k+2, k+3, k+4, k+5 の 4 個の文字全てが 16 進数字でないならば、ステップ 14 へ。
c を、コードポイント値が Result(1) 内部の位置 k+2, k+3, k+4, k+5 の 4 個の 16 進数字で表される整数である文字とする。
k を 5 増分する。
ステップ 18 へ。
k が Result(2)-3 より大きいならば、ステップ 18 へ。
Result(1) 内部の位置 k+1, k+2 の 2 個の文字両方が 16 進数字でないならば、ステップ 18 へ。
c を、コードポイント値が 2 個の 0 と Result(1) 内部の位置 k+1, k+2 の 2 個の 16 進数字で表される整数である文字とする。
k を 2 増分する。
R を、 前の R の値と c を連結して算出した新しい文字列値とする。
k を 1 増分する。
ステップ 5 へ。
B.2.3 String.prototype.substr (start, length)
unescape 関数が 1 個の引数 string で呼び出されるとき、次のステップが取られる:
ToString(string) を呼び出す。
Result(1) の文字数を算出する。
R を空文字列とする。
k を 0 とする。
k と Result(2) が等しいならば、 R を返す。
c を Result(1) 内部の位置 k の文字とする。
c が % でないならば、ステップ 18 へ。
k が Result(2)-6 より大きいならば、ステップ 14 へ。
Result(1) 内部の位置 k+1 の文字が u でないならば、ステップ 14 へ。
Result(1) 内部の位置 k+2, k+3, k+4, k+5 の 4 個の文字全てが 16 進数字でないならば、ステップ 14 へ。
c を、コードポイント値が Result(1) 内部の位置 k+2, k+3, k+4, k+5 の 4 個の 16 進数字で表される整数である文字とする。
k を 5 増分する。
ステップ 18 へ。
k が Result(2)-3 より大きいならば、ステップ 18 へ。
Result(1) 内部の位置 k+1, k+2 の 2 個の文字両方が 16 進数字でないならば、ステップ 18 へ。
c を、コードポイント値が 2 個の 0 と Result(1) 内部の位置 k+1, k+2 の 2 個の 16 進数字で表される整数である文字とする。
k を 2 増分する。
R を、 前の R の値と c を連結して算出した新しい文字列値とする。
k を 1 増分する。
ステップ 5 へ。
B.2.3 String.prototype.substr (start, length)
substr メソッドは 2 個の引数、 start と length をとり、このオブジェクトを文字列に変換し、文字位置 start で開始して length 個の文字 (length が undefined なら文字列の末尾) まで続く部分文字列を返す。 start が負ならば、文字列の長さを sourceLength として、それを (sourceLength+start) として扱う。結果は文字列値であり、 String オブジェクトにはならない。次のステップが取られる:
ToString を呼出し、引数に this 値を与える。
ToInteger(start) を呼出す。
length が undefined ならば、 +∞ を用いる; そうでないならば、 ToInteger(length) を呼出す。
Result(1) の文字数を算出する。
Result(2) 正または 0 ならば、 Result(2) を用いる; そうでないならば max(Result(4)+Result(2),0) を用いる。
min(max(Result(3),0), Result(4)-Result(5)) を算出する。
Result(6) ≤ 0 ならば、空文字列 "" を返す。
Result(1) の位置 Result(5) の文字で開始する Result(6) 個の連続する文字で構成される文字列を返す。
substr メソッドの length プロパティは 2 である。
NOTE substr 関数は故意に汎用的である; this 値が String オブジェクトであることを要求しない。それゆえ、他の種類のオブジェクトにメソッドとして転用されうる。
B.2.4 Date.prototype.getYear ( )
ToString を呼出し、引数に this 値を与える。
ToInteger(start) を呼出す。
length が undefined ならば、 +∞ を用いる; そうでないならば、 ToInteger(length) を呼出す。
Result(1) の文字数を算出する。
Result(2) 正または 0 ならば、 Result(2) を用いる; そうでないならば max(Result(4)+Result(2),0) を用いる。
min(max(Result(3),0), Result(4)-Result(5)) を算出する。
Result(6) ≤ 0 ならば、空文字列 "" を返す。
Result(1) の位置 Result(5) の文字で開始する Result(6) 個の連続する文字で構成される文字列を返す。
substr メソッドの length プロパティは 2 である。
NOTE substr 関数は故意に汎用的である; this 値が String オブジェクトであることを要求しない。それゆえ、他の種類のオブジェクトにメソッドとして転用されうる。
B.2.4 Date.prototype.getYear ( )
NOTE "2000 年問題" を回避するため、ほぼ全ての目的で getFullYear メソッドが好まれる。
getYear メソッドが引数無しで呼出される時、次のステップが取られる:
t をこの時間値とする。
t が NaN ならば、 NaN を返す。
YearFromTime(LocalTime(t)) - 1900 を返す。
B.2.5 Date.prototype.setYear (year)
getYear メソッドが引数無しで呼出される時、次のステップが取られる:
t をこの時間値とする。
t が NaN ならば、 NaN を返す。
YearFromTime(LocalTime(t)) - 1900 を返す。
B.2.5 Date.prototype.setYear (year)
NOTE "2000 年問題" を回避するため、ほぼ全ての目的で setFullYear メソッドが好まれる。
setYear メソッドが 1 個の引数 year で呼出される時、次のステップが取られる:
t を LocalTime(この時間値) の結果とする; しかし、この時間値が NaN ならば、 t を +0 とする。
ToNumber(year) を呼出す。
Result(2) が NaN ならば、this 値の Value プロパティを NaN に設定し、 NaN を返す。
Result(2) が NaN でなく、かつ 0 ≤ ToInteger(Result(2)) ≤ 99 ならば、 Result(4) は ToInteger(Result(2)) + 1900 である。そうでないならば、 Result(4) は Result(2) である。
MakeDay(Result(4), MonthFromTime(t), DateFromTime(t)) を算出する。
UTC(MakeDate(Result(5), TimeWithinDay(t))) を算出する。
this 値の Value プロパティを TimeClip(Result(6)) に設定する。
this 値の Value プロパティの値を返す。
B.2.6 Date.prototype.toGMTString ( )
setYear メソッドが 1 個の引数 year で呼出される時、次のステップが取られる:
t を LocalTime(この時間値) の結果とする; しかし、この時間値が NaN ならば、 t を +0 とする。
ToNumber(year) を呼出す。
Result(2) が NaN ならば、this 値の Value プロパティを NaN に設定し、 NaN を返す。
Result(2) が NaN でなく、かつ 0 ≤ ToInteger(Result(2)) ≤ 99 ならば、 Result(4) は ToInteger(Result(2)) + 1900 である。そうでないならば、 Result(4) は Result(2) である。
MakeDay(Result(4), MonthFromTime(t), DateFromTime(t)) を算出する。
UTC(MakeDate(Result(5), TimeWithinDay(t))) を算出する。
this 値の Value プロパティを TimeClip(Result(6)) に設定する。
this 値の Value プロパティの値を返す。
B.2.6 Date.prototype.toGMTString ( )
NOTE プロパティ toUTCString が望ましい。 toGMTString プロパティは主に古いコードとの互換性のために提供される。新たな ECMAScript コード内では toUTCString プロパティが用いられることを推奨する。
Date.prototype.toGMTString の初期値である Function オブジェクトは、 Date.prototype.toUTCString の初期値である Function オブジェクトと同じである。
Date.prototype.toGMTString の初期値である Function オブジェクトは、 Date.prototype.toUTCString の初期値である Function オブジェクトと同じである。