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.