prototype.jsに呪われたはてなブックマーク その2

prototype.jsを使うと、http://d.hatena.ne.jp/sshi/20060125/p1 の件と同様にArrayにも呪いがかかるようだ。Array.prototypeにまでeachやらinjectやらcollectやら放りこまれてました。でもそのくせ、each_with_indexは無いのな。中途半端だ。JavaScriptなんだから無理矢理Rubyぽく使わなくてもいいじゃないか。forループでまわそうよ。まあ、百歩ゆずってRubyぽく使いたいとしても、標準の使い方を阻害するのだけは勘弁して欲しい。
prototype.jsなんてものは使いたくないのだが、はてなブックマークブックマークレットを作ろうとすると問答無用で読みこまれているので、避けようがない。仕方ないので、キャンセルするコードを書いた。しょっぱなにこのコードを埋めておくとObject.prototypeとArray.prototypeに関しては標準の状態に戻る、、はず。まだDOMあたりにも呪いがかかってそうだけど、どうしたもんか。

delete Object.prototype.extend;
var ar = new Array();
for (var i in ar){
    delete Array.prototype[i];
}

便利関数を追加したいんだったら、ArrayとかObjectとかを継承した独自クラス作ってやってくれればいいのに。それでは駄目なのだろうか。