[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor [Back]  [Original]

Object.prototype.constructor - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

Object.prototype.constructor

Baseline
Ampliamente disponible

Esta caracterstica est consolidada y funciona en muchos dispositivos y versiones de navegador. Est disponible en todos los navegadores desde julio de 2015.

Resumen

Retorna una referencia a la funcin del Object que cre el objeto de la instancia. Note que el valor de esta propiedad es una referencia a la funcin misma, no a un string conteniendo el nombre de la funcin. El valor es slo de lectura para valores primitivos tales como 1, true y 'test'.

En este artculo

Descripcin

Todos los objetos tienen una propiedad constructor. Los objetos creados sin explicitar el uso de una funcin (como son los objetos y las cadenas literales) tendrn una propiedad de constructor que apunta al tipo de constructor del Objeto Fundamento para ese objeto.

js
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 crea un prototipo, Tree, y un objeto de este tipo, theTree. El ejemplo muestra entonces la propiedad constructor para el objeto theTree.

js
function Tree(name) {
  this.name = name;
}

var theTree = new Tree("Redwood");
console.log("theTree.constructor is " + theTree.constructor);

Este ejemplo muestra la siguiente salida:

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

Ejemplo: Cambiando el constructor de un objeto

El siguiente ejemplo demuestra como modificar el valor del constructor de objetos genricos. Solo true, 1 y "test" no sern 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.

js
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

Especificacin
ECMAScript 2027 LanguageSpecification
# sec-object.prototype.constructor

Compatibilidad con navegadores


Web Proxy Viewer  |  New URL  |  Original Page