某案件でJSONに持たせた年・月のデータをJSで整形して出力という作業をしたのですが、オブジェクトリテラルのプロパティ名がStringの数字の場合にChrome16やIE9でソートして出力されるという現象が起きました。
配列じゃないので順番の概念は無いにしても書かれている順番通りに出力してくれたらなと思いました。
チェックしたブラウザはFirefox9とChrome16とIE9だけですが、Firefox以外ソートされていたので、こちらの挙動が間違っているのかなあと思うのですが、これは仕様なんですかね?知っている人がいれば教えていただけると嬉しいです。。
この問題はオブジェクトを配列にし、”year”プロパティの値に年の数字を突っ込んで、それを降順にソートして出力することで回避しました。
追記:Safari5はソートされませんでした。