Javascriptはオブジェクト指向言語だが、C++やJavaなどのオブジェクト指向言語とは大きく異なる。Javascriptはプロトタイプオブジェクト指向である。 クラスベースとプロトタイプベース C++やJava等のオブジェクト指向言語は、クラスベースオブジェクト指向と呼ばれる。全てのオブジェクトには雛形が存在し、雛形を実体化する事でオブジェクトは生成され、インスタンスと呼ばれる。 一方、プロトタイプベースのオブジェクト指向とは何だろうか? 引用: プロトタイプベースオブジェクト指向 オブジェクトがスロット(クラスのインスタンスならインスタンス変数やメソッドに相当)の追加をクラスに依存せずに自由にできることを前提としたオブジェクト指向。あるいはそうしたオブジェクトを用いたプログラミングや、それをサポートする機構。

