Tengo un objeto, digamos son
, que me gustaría heredar de otro objeto father
.Agregar un prototipo a un objeto literal
Por supuesto que puede hacer una función constructora para el padre, como
Father = function() {
this.firstProperty = someValue;
this.secondProperty = someOtherValue;
}
y luego usar
var son = new Father();
son.thirdProperty = yetAnotherValue;
pero esto no es exactamente lo que quiero. Como son
va a tener muchas propiedades, sería más legible tener hijo declarado como un objeto literal. Pero entonces no sé cómo configurar su prototipo.
Hacer algo como
var father = {
firstProperty: someValue;
secondProperty: someOtherValue;
};
var son = {
thirdProperty: yetAnotherValue
};
son.constructor.prototype = father;
no funcionará, ya que la cadena de prototipo parece estar oculta y no se preocupan por el cambio de constructor.prototype.
creo que puedo utilizar la propiedad __proto__
en Firefox, como
var father = {
firstProperty: someValue;
secondProperty: someOtherValue;
};
var son = {
thirdProperty: yetAnotherValue
__proto__: father
};
son.constructor.prototype = father;
pero, por lo que yo entiendo, esto no es una característica estándar de la lengua y es mejor no utilizar directamente.
¿Hay alguna manera de especificar el prototipo para un objeto literal?
http://stackoverflow.com/questions/1592384/adding-prototype-to-object-literal –