プロトタイプと疑似古典のインスタンス化に関する他の記事をいくつか読みましたが、まだいくつか質問があります。説明のために以下のコードを含めました。
質問は次のとおりです。
- Person は実質的に Human と同じですか?
- ジョンとアリスは本質的に同じですか?
- ある方法と別の方法では、どのような副作用が生じる可能性がありますか?
注意すべき重要なパフォーマンスの問題はありますか?
var Person = function() { hopes: function(){}, dreams: function(){} }; var John = Object.create(Person); // not supported in older browsers
--
var Human = function() { }; Human.prototype.hopes = function(){}; // could add both hopes & dreams with an object Human.prototype.dreams = function(){}; var Alice = new Human();