オブジェクトを作成および使用する「JavaScript の方法」を理解しようとしていますが、オブジェクトとプロトタイプの誤解に遭遇していると思います。
私が始めた新しいプロジェクトでは、プロトタイプの継承を試すことにしました。Object.create()
これが、使用する予定のオブジェクトを作成し、それに基づいて次のようなオブジェクトを作成する必要があることを意味する場合、私は混乱しています。
var labrador = {
color: 'golden',
sheds: true,
fetch: function()
{
// magic
}
};
var jindo = Object.create(dog);
jindo.color = 'white';
または、一種のクラスを作成する必要があり、そのインスタンスを使用してそのインスタンスを作成する必要がある場合Object.create()
。
var Dog = { // Is this class-like thing a prototype?
color: null,
sheds: null,
fetch: function()
{
// magic
}
};
var labrador = Object.create(Dog);
labrador.color = 'golden';
labrador.sheds = true;
var jindo = Object.create(Dog);
jindo.color = 'white';
jindo.sheds = true;
クラスベースの OOP でより多くの経験を積むと、後者の方法がより快適に感じられます (そして、それで十分な理由かもしれません)。しかし、プロトタイプの継承の精神は、最初の選択肢にあるように感じます。
プロトタイプ プログラミングの「精神」に近い方法はどれですか? それとも私はポイントを完全に見逃していますか?