[1] [CITE[B 互換性 (Compatibility)]] ([TIME[2002-07-19 22:24:55 +09:00]] 版) <http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/B_Compatibility.html#section-B.1.2>

[2] >>1 に従えば \069 みたいなのは八進数のエスケープではないことになってしまいますが、
ブラウザで試してみると \06 + 文字 9 として処理されます。

[3] 
() が8個ないときの \8 の解釈

<http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cscript%3E%0Aif%20(%22%5Cx08%22.match%20(%2F%5C8%2F))%20%7B%0A%20%20document.write%20(%22U%2B0008%22)%3B%0A%7D%20else%20if%20(%228%22.match%20(%2F%5C8%2F))%20%7B%0A%20%20document.write%20(%22U%2B0038%20DIGIT%20EIGHT%22)%3B%0A%7D%20else%20if%20(%22%5C%5C8%22.match%20(%2F%5C8%2F))%20%7B%0A%20%20document.write%20(%22U%2B005C%20REVERSE%20SOLIDUS%2C%20U%2B0038%20DIGIT%20EIGHT%22)%3B%0A%7D%20else%20%7B%0A%20%20document.write%20(%22Unknown%22)%3B%0A%7D%0A%3C%2Fscript%3E>

[[WinIE 7]]、[[Safari]]、[[Chrome]]: [CODE(char)[[[U+0038]]]] [CODE(charname)@en[[[DIGIT EIGHT]]]]

[[Opera]] 9.61: [CODE(char)[[[U+0008]]]]

[[Firefox]] 3: [CODE(char)[[[U+005C]]]] [CODE(charname)@en[[[REVERSE SOLIDUS]]]],
[CODE(char)[[[U+0038]]]] [CODE(charname)@en[[[DIGIT EIGHT]]]]

[4] [[文字列リテラル]]での \8 の解釈

<http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cscript%3E%0D%0Adocument.write%20(encodeURIComponent%20(%22%5C8%22))%3B%0D%0A%3C%2Fscript%3E>

どのブラウザでも [CODE(char)[[[U+0038]]]] [CODE(charname)@en[[[DIGIT EIGHT]]]]

[5] [[ES3]] によれば \[VAR[n]] で [VAR[n]] が () の数より多いと [[SyntaxError]] ですが
(15.10.2.9 の算法、または 15.10.2.11 の informative note)、
実際にはどのブラウザでも[[八進エスケープ]]として解釈されます。

<http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cscript%3E%0D%0Adocument.write%20(%22%5Cx04%22.match(%2F%5C4%2F)%3F1%3A0)%3B%0D%0A%3C%2Fscript%3E>

[6] ちなみに [[Perl]] ではエラーになります。 [[ES3]] には[[正規表現]]内の () 
の数が、という風に書かれていて、そこより前、とは言っていません。 [[Perl]]
でも、 /\5((((()))))/ のように括弧が後から出てきてもエラーにはなりません。

[7] [[文字クラス]]内の \[VAR[n]] の解釈。

[[ES3]] によれば \0 以外は [[SyntaxError]] ですが、実際にはどのブラウザでも[[エスケープ]]として解釈されます。

\1
<http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cscript%3E%0D%0Adocument.write%20(%22a%5Cx01%22.match(%2F(a)%5B%5C1%5D%2F)%3F1%3A0)%3B%0D%0A%3C%2Fscript%3E>:
どのブラウザでも U+0001 として解釈されます。

\8
<http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cscript%3E%0Adocument.write%20(%22a8%22.match(%2F(a)%5B%5C8%5D%2F)%3F1%3A0)%3B%0A%3C%2Fscript%3E>:
[[Opera]] 以外では [CODE(char)[[[U+0038]]]] と、
[[Opera]] では [CODE(char)[[[U+0008]]]] と解釈されます。

;; [[Firefox]] でも [CODE(char)[[[U+0038]]]] とだけみなされます。

