05/09/07 06:29:39
>>448
> ECMAにないのに複数のブラウザが8進定数を
> (過去との互換性のために)未だにサポートしているところに
> ややこしさがある。つまり「処理系に聴け」状態なわけだ。
//仕様書読んだことのある人が8進定数と言うだろうか。
まず、ややこしくない(笑)。
そして、責任はヴェンダに無い。
特にブラウザ上で使われるJSに関しては、古い仕様
(262-2仕様、及び、262-2より前の仕様) に則したコードも
処理しなければならないから、当然、サポートされる。
その当然のサポートに際して必要な仕様が、>>443 の Annex B だ。
結局、責任はスクリプト作者にあるということ。つまり、極端に言えば、
1999年末に出た262-3以降に書くスクリプトに関しては、
076, "\076",
escape(), unescape(),
String#substr(),
Date#(get|set)Year(), Date#toGMTString()
を使わないように気をつけなさいよということ。
//気をつけるためには、意図せず 8進リテラルが紛れ込んだ時に
//慌てないように、Annex B を理解しておかなければならない。
//全く理解していない元の質問者が最初にするべきことは、
//10進8進変換を頭の中(手計算)で出来るようになることだろう。