¿Cómo puedo hacer que un object henetworkinge dos objects en su prototipo?

Estoy tratando de hacer que un object henetworkinge de otros dos objects pero hacerlo así no funciona, ¿cómo puedo hacerlo funcionar?

function a() { }; a.prototype.iamA = function() { alert("a"); }; function b() { }; b.prototype.iamB = function() { alert("b"); }; function ab() { }; ab.prototype = new a(); ab.prototype = new b(); console.log(new ab()); 

Parece que el prototipo está anulado, ¿cómo puedo agregarlo, también he intentado agregarlo al prototipo pero tampoco funciona?

One Solution collect form web for “¿Cómo puedo hacer que un object henetworkinge dos objects en su prototipo?”

Use la extensión de object en lugar de la asignación, por ejemplo:

 function extend(obj, source) { for (var prop in source) { obj[prop] = source[prop]; } return obj; } 

entonces:

 ab.prototype = extend(new a(), new b()); (1) 

O puede optar por utilizar la function de extensión de subrayado.

 ab.prototype = _.extend({}, new a(), new b()); (2) 

Editar :

Estrictamente hablando, esto es mixin en lugar de multi-inheritance real, ya que (new ab instanceof b) === false en ambos (1) y (2).

Para get más información, eche un vistazo a esta reference: Sin inheritance múltiple .

Dicho esto, mixin es probablemente suficiente para ti. Resulta que las personas que piensan que necesitan inheritance generalmente solo necesitan la reutilización del código, no la construcción relacionada con la escritura. Esto es especialmente cierto para el lenguaje de tipado dynamic (o tipado de pato ) como JavaScript.

  • ¿Cuál es el object prototipo del object Ubicación?
  • objects, prototypes y scope de javascript reutilizables
  • javascript: crea un object que henetworkinga de los prototypes de más de un constructor
  • ¿Por qué la propiedad del prototipo de JavaScript no está definida en objects nuevos?
  • Javascript: Cómo extender la class correctamente
  • Comprender el prototipo Propiedad de la function
  • JavaScript: ¿Es posible replace funciones como Array.prototype.indexOf?
  • ¿Por qué el getPrototypeOf () devuelve un constructor incorrecto en JavaScript?
  • Comprender mejor architecture OOP Javascript
  • Diferencia de Javascript entre MyClass.prototype = {} y MyClass.prototype.method
  • isPrototypeOf en Javascript
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.