herencia de prototipo javascript - propiedad compartida

He guardado una propiedad_data en prototipo como definición para todos los objetos creados.

 function A() {}
 A.prototype._data = [];

Ahora todos los objetos creados desdeA tener propiedad_data.

Me gustaría prototipo de herencia, donde_data de prototipo tendra_data Valores de todos los prototipos en la cadena de prototipos.

No sé de manera directa, en este ejemplo uso un getter.get().

 function A() {}

 A.prototype._data = [];

 A.prototype.add = function(rec) {
   this.__proto__._data.push(rec);
 }

 A.prototype.get = function() {
   if(typeof this.__proto__.constructor.prototype.get == 'function')
   {
     return this.__proto__.constructor.prototype.get().concat(this.__proto__._data);
   }
   else
   {
     return this.__proto__._data || [];
   }
 }

 function B() {}
 B.prototype = Object.create(A.prototype, { constructor: { value: B }});
 B.prototype._data = [];

Cuando creo objetoa con valoresaa y objetob con valorbb, b.get() devoluciones[aa, bb]. Y mas tarde si_data de prototipoA se ampliará conaaaafunciónb.get() devoluciones[aa, aaaa, bb].

 var a = new A(), b = new B();

 a.add('aa');
 b.add('bb');
 console.log(b.get()); // [aa, bb]

 a.add('aaaa');
 console.log(b.get()); // [aa, aaaa, bb]

 // EDITED - _data in A prototype shoud be without B
 console.log(a.get()); // [aa, aaaa]

¿Es una buena manera (estándar) de cómo lograr esto? Me refiero a usar la corrección del constructor mientrasObject.create y prototipo de referencia conconstructor.prototype?

Aquí hay una demostración:http://jsfiddle.net/j9fKP/

El motivo de todo esto es la definición de campo para el esquema en la biblioteca ORM, donde se permite la herencia de esquemas. El esquema hijo debe tener todos los campos del esquema padre.

Respuestas a la pregunta(3)

Su respuesta a la pregunta