HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
View in English Always switch to English
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
Retorna una referencia a la función del Object que creó el objeto 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 sólo de lectura para valores primitivos tales como 1, true y 'test'.
Object
Todos los objetos tienen una propiedad constructor. Los objetos creados sin explicitar el uso de una función (como son los objetos y las cadenas literales) tendrán una propiedad de constructor que apunta al tipo de constructor del Objeto Fundamento para ese objeto.
constructor.
constructor
var o = {}; o.constructor === Object; // true var a = []; a.constructor === Array; // true var n = new Number(3); n.constructor === Number; // true
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.
Tree
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; }
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.
true
1
"test"
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"));
Enable JavaScript to view this browser compatibility table.