違いは何ですか
Employee.prototype = Object.create(Person.prototype);
と
_.extend(Employee.prototype, Person.prototype);
どちらも同様の結果 (出力) を与えますが、アンダースコア メソッドは Person.prototype を Employee.constructor.prototype に追加しているように見えます。
純粋なJS
アンダースコアJS
の良い副作用は、_.extend
多重継承を簡単にできることです: プロトタイプ チェーンも長くなりません ...
_.extend(Employee.prototype, Person.prototype);
_.extend(Employee.prototype, {
doSomething: function() {
return "hi ...";
}
});
しかし ...
sayHi 関数と doSomething 関数が 2 つあるのはなぜですか? (実際には、1回だけ延長しても同じです)。