「オブジェクト指向」の説明にJavaが引き合いに出される。

ことばはJavaと似ているけれど、それとは違うJavaScriptも「オブジェクト指向」のプログラム言語と言っていいだろう。

ただし、代表的なそれは、クラスをつくり、それをもとにインスタンスが生成されるようで、

設計図を書き、それをもとにモノを作るというふうに例えられるけれど、

JavaScriptのばあいは、既存の関数のクローンが生成されるイメージなんだ。

既存の関数名にNew演算子をつけて、変数に入れてしまえば、「いっちょ、できあがり」みたいな。

var banana = new Banana()

で、インスタンスができると同時に、そのインスタンスを初期化するコンストラクタというメソッドが呼び出されたりする(やや、なんか、ややこしい言い方になってきたぜ)。

ずいぶんながいあいだ、この初期化ということばに違和感を感じていたんだ。

それは初期化といえば、たとえばパソコンを、まっさらな状態にしてしまうようなイメージから頭が離れなかったからだと思う。

このばあいは、ゼロにするということではなく、インスタンス生成時に引数を渡すような初期化をしたりするわけねぇ。

ふむふむ。