>>0
> この頻度ってそう多くないと思うのですが
var Data = {
'日本' : {
'東京' : { ... },
'佐賀' : { ... }
},
'韓国' : {
'ソウル' : { ... },
'プサン' : { ... }
}
};
みたいな辞書は普通に作らないか?こんな時、勝手にObject.prototypeが拡張されてたら泣くよ。
# まあhasOwnPropertyでチェックすれば良いかもしれないが、Operaちゃんがどうにもねえ。
JavaScriptは自由な書き方ができる。それは逆に言うなら、他人のコードとの互換性が著しく低いことにつながる。
自分ひとりだけが使うことが分かりきっているなら好きにすればいいけど、
少しでも他人が使う可能性がある場合は、慎重になってなり過ぎることはない。
__JavaScriptの__組み込みオブジェクトのプロトタイプを拡張するくらいなら、グローバル関数・変数の方がまだマシという意見もある。
その辺は、用途にも関わってくるだろうけど。
組み込みオブジェクトを拡張するのではなく、組み込みオブジェクトを継承したチャイルドを利用するのはどうだろうか。
http://blog.livedoor.jp/dankogai/archives/50662064.html