Objeto: constructor
La propiedad object.constructor es una referencia a la función que se ha usado para crear el objeto actual o una instancia de un objeto.
Se trata de un objeto Function y por tanto posee todas las propiedades de este tipo de objetos, como name o arguments y otros.
Todos los objetos tienen un constructor, incluso si se crean directamente mediante una expresión. En este caso el constructor es el objeto global Object.
var lista = new Array(1,2,3,4,5);
console.log(lista.constructor);
console.log(lista.constructor.name);
El constructor de la variable lista es una función Array() y su nombre es "Array"
var Planta= function(tipo){
this.tipo =tipo;
this.descr = function(){ return "Planta de "+this.tipo};
}
miplanta = new Planta('huerto');
miflor = new Planta('jardín');
console.log(miplanta.constructor.name);
console.log(miflor.constructor.name);
En ambos casos el constructor es Planta. Incluso puedes ver el código del constructor con su método valueOf()
var Planta= function(tipo){
this.tipo =tipo;
this.descr = function(){ return this.nombre +" es un planta de "+this.tipo};
}
var Flores = function(nombre){
this.nombre=nombre;
Planta.call(this, 'jardin')
}
miflor = new Flores('Rosa');
console.log(miflor.constructor.name);
console.log(miflor.descr());
En este ejemplo puedes ver que el constructor de miflor es Flores.