mozilla
Los resultados de tu búsqueda

    Object.prototype.constructor

    Resumen

    Retorna una referencia a la función del Object que creó el prototipo de la instancia. Note que el valor de esta propiedad es una referencia a la función misma, no a un string conteniendo el nombre de la función. El valor es solo de lectura para valores de primitivas tales como 1, true y 'test'.

    Descripción

    Todos los objetos heredan una propiedad constructor la cual proviene de su prototipo:

    var o = {};
    o.constructor === Object; // true
    
    var a = [];
    a.constructor === Array; // true
    
    var n = new Number(3);
    n.constructor === Number; // true

    Ejemplos

    Ejemplo: Mostrando el constructor de un objeto.

    El siguiente ejemplo creo un prototipo, Tree, y un objeto de este tipo, theTree. El ejemplo muestra entonces la propiedad constructor para el objeto theTree.

    function Tree (name) {
       this.name = name;
    }
    
    var theTree = new Tree( "Redwood" );
    console.log( "theTree.constructor is " + theTree.constructor );

    Este ejemplo muestra la siguiente salida:

    theTree.constructor is function Tree (name) {
        this.name = name;
    }

    Ejemplo: Cambiando el construtor de un objeto.

    El siguiente ejemplo demuestra como modificar el valor del constructor de objetos genéricos. Solo true, 1 y "test" no serán afectados ya que ellos tienen constructores nativos de solo lectura. Este ejemplo demuestra que no siempre es seguro confiar en la propiedad constructor de un objeto.

    function Type () {}
    
    var types = [
        new Array(),
        [],
        new Boolean(),
        true,             // no cambia
        new Date(),
        new Error(),
        new Function(),
        function () {},
        Math,	
        new Number(),
        1,                // no cambia
        new Object(),
        {},
        new RegExp(),
        /(?:)/,
        new String(),
        "test"            // no cambia
    ];
    
    for( var i = 0; i < types.length; i++ ) {
        types[i].constructor = Type;
        types[i] = [ types[i].constructor, types[i] instanceof Type, types[i].toString() ];
    }
    
    console.log( types.join( "\n" ) );

    Especificaciones

    Especificaciones Estatus Comentario
    ECMAScript 1ra. Edición. Implementado en JavaScript 1.1 Estandar. Definición inicial.
    ECMAScript 5.1 (ECMA-262)
    The definition of 'Objectprototype.constructor' in that specification.
    Standard  
    ECMAScript 6 (ECMA-262)
    The definition of 'Object.prototype.constructor' in that specification.
    Release Candidate  

    Compatibilidad con Navegadores

    Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Soporte básico (Yes) (Yes) (Yes) (Yes) (Yes)
    Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Soporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

     

    Etiquetas y colaboradores del documento

    Contributors to this page: teoli, chebit, carlosmantilla
    Última actualización por: teoli,
    Ocultar la barra lateral