?
u
m
/
p
1-9
0
`
本附属書で定義される ECMAScript 言語の構文および意味論は、ECMAScript
本附属書で定義される一部の機能は本附属書内に記述され、他の一部は本文(メイン仕様)内に記述される。
ある機能が本文で規定されている場合、その機能が文書に影響する各箇所は彩色されたボックス内の "Normative Optional" という語で示される。さらに、アルゴリズムや
この附属書は各種
これら機能は ECMAScript 言語のコアには含まれないと見なされる。新しい ECMAScript コードを書く際、開発者はこれらの機能や振る舞いの存在を使用・前提とすべきではない。Web ブラウザの一部であるか、Web ブラウザが遭遇する同じ
この代替パターン文法と意味論は BMP パターンの構文と意味論のみを変更する。以下の文法拡張には [UnicodeMode] パラメータ付き生成規則が含まれる。しかし、これら拡張は
同一の左辺が [+UnicodeMode] と [~UnicodeMode] の両方で現れるのは曖昧性解消の優先度を制御するためである。
さらに、以下の生成規則に対する規則は 強調された 追加文言を含むよう修正される:
CountLeftCapturingParensWithin および CountLeftCapturingParensBefore の定義において “
CompileSubpattern の意味論は以下のように拡張される:
\
U+005C (REVERSE SOLIDUS) を含む 次の 2 つの規則は CompileToCharSet の対応する規則を置き換える。
加えて、以下の規則が CompileToCharSet に追加される。
\
U+005C (REVERSE SOLIDUS) を含む \c
からのみ到達し得る。The abstract operation CharacterRangeOrUnion takes arguments rer (a
ECMAScript
Intrinsic Name | Global Name | ECMAScript Language Association |
---|---|---|
|
escape
|
escape 関数 ( |
|
unescape
|
unescape 関数 ( |
この関数は
数値値が 0x00FF 以下のコードユニットを置換する際は %xx
形式の 2 桁エスケープシーケンスを用いる。数値値が 0x00FF を超えるコードユニットを置換する際は %uxxxx
形式の 4 桁エスケープシーケンスを用いる。
これは %escape% イントリンシックオブジェクトである。
呼び出し時、次の手順を実行する:
このエンコーディングは部分的に RFC 1738 に記述されたエンコーディングに基づくが、本標準で規定されるエンコーディング全体は RFC 1738 の内容を参照せず上記で完結している。このエンコーディングは RFC 3986 による RFC 1738 への変更を反映しない。
この関数はescape
関数によって導入され得る種類の各エスケープシーケンスを、その表すコードユニットへ置換した新しい String 値を生成する。
これは %unescape% イントリンシックオブジェクトである。
呼び出し時、次の手順を実行する:
このメソッドは
呼び出し時、次を行う:
このメソッドは意図的にジェネリックであり、
呼び出し時、次を行う:
The abstract operation CreateHTML takes arguments string (an ECMAScript language value), tag (a String), attribute (a String), and value (an ECMAScript language value) and returns 正常完了で String を含むか、または
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
呼び出し時、次を行う:
“2000 年問題” を回避できるため、ほぼ全ての目的で getFullYear
メソッドが推奨される。
このメソッドは呼び出し時に次を行う:
“2000 年問題” を回避できるため、ほぼ全ての目的で setFullYear
メソッドが推奨される。
このメソッドは呼び出し時に次を行う:
toUTCString
メソッドが推奨される。このメソッドは主として古いコードとの互換性のために提供される。
このメソッドは呼び出し時に次を行う:
このメソッドは
ECMAScript 2015 以前、
ECMAScript 2015 以前、
関数が宣言され単一のブロック内でのみ参照される。
var
以外の f の他の宣言が存在しない。
関数が 1 つの
var
以外の f の他の宣言が存在しない。
関数が 1 つのブロック内で宣言され(必要なら使用され)さらに後続のブロック内で参照される。
var
以外の f の他の宣言が存在しない。
最初のユースケースは ECMAScript 2015 が提供する
2 番目と 3 番目のユースケースの ECMAScript 2015 相互運用性には、
実装が診断警告メッセージを報告する仕組みを持つ場合、この互換意味論が適用され非互換意味論との差異が観測可能となる
この機能は次の箇所で特別な意味論を伴う:
以下は
この生成規則は非 strict コードを解析する場合にのみ適用される。この生成規則にマッチするソーステキストは、各
この機能では、var
宣言でバインドできる。これは
実行時にはそのようなバインディングは VariableDeclarationEnvironment にインスタンス化される。同名の var
宣言の
この変更は var
および function
宣言にも適用される。この変更は
以下は
この生成規則は非 strict コードを解析する場合にのみ適用される。
typeof
演算子
[[IsHTMLDDA]] 内部スロットを持つオブジェクトは本仕様によって生成されない。ただし Web 互換性のために存在するブラウザの document.all
オブジェクト はこのスロットを持つdocument.all
を例外として新たに作成すべきでない。
この機能は次の箇所で特別な意味論を伴う:
typeof
の評価意味論における 非 strict コードで関数呼び出し (
代入ターゲットが =
か ??=
, &&=
, ||=
) には適用されない。