[ 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 Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since 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'.

In this article

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

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

Compatibilidad con navegadores


Web Proxy Viewer  |  New URL  |  Original Page