めもりーちゃんはちょうぜつソルジャー DNA を持っているので闇の組織のクローンソルジャーのプロトタイプに選ばれてしまったのです。がんばれオブジェクト指向警察!
闇の組織が最強の部隊を作るときはだいたい、ソルジャー適性を持つとわかっている DNA をコピーする (なぜか後天的に獲得した能力も付いてくる) のが王道ですね。遺伝子操作をインスタンスごとにいちいち new
からやるのは、手間と時間がかかりすぎるし、個体差が出てしまうリスクもあります。すでにいい感じに出来上がってる塩基配列からクローンを量産するのが悪の科学の基本です。
同じ特性のオブジェクトをたくさん作って、使用後 (いったいどんな薬物を!?) の状態変化はやりっぱなし放置、どうせ使わなくなったら最後は使い捨てて GC されるんだから、というようなシチュエーションで、このパターンはすごく活躍できます。 (いけない、だんだん人道的に欝入ってきました)
現実には、大量投げっぱなしといえば、たとえばシューティングゲームの弾丸です。テスト用の事前条件環境も、いい感じに構築済みのものをプロトタイプとしたクローンにしておければ、前のテストのものを使い捨てて、副作用の影響なしに次のテストに臨めます。
あ、そういえば、活躍するクローンは必ずミュータブルで、互いに異なるインスタンスだという点、地味に効いてくるポイントです。
だってもしオブジェクトがイミュータブルなら、クローンなんてする必要なくて、定数としてオブジェクトを共有すればいいでしょ。まったく同じものでメモリを埋めるなんてもったいない。
でも、いくらメモリがもったいないからって、ミュータブルなオブジェクトを共有するのはもっとダメですね。ひとつのインスタンスが剣も盾も装備して、ちょんまげまで乗っちゃう。ちょんまげは失敗だから破棄したくてもできないし、そんな影分身がみんな同じ動きをするなんて...
ええと、何が言いたいかというと、共有してるから状態が変わっちゃダメな JavaScript の prototype
は、デザインパターンでいう Prototype とはまったく関係がない、というかむしろ、真逆の特徴を持っているのでくれぐれも混同しないでくださいね、ということです。