Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

Object.prototype.constructor

BaselineWidely available

Sumário

Retorna uma referência para a funçãoObject que cria a instância do protótipo. Note que o valor desse protótipo é uma referência para a própria função, não uma string contendo o nome da função. O valor é apenasread-only para valores primitivos como1,true e"test".

Descrição

Todos os objetos herdam a propriedadeconstrutor de seu protótipo:

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

Exemplos

Exemplo: Apresentando o construtor de um objeto

O exemplo a seguir cria um protótipo,Tree, e um objeto desse tipo,theTree. O exemplo, então, apresenta a propriedadeconstructor do objetotheTree.

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

Esse exemplo apresenta a seguinte saída:

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

Exemplo: Mudando o construtor de um objeto

O exemplo a seguir apresenta como modificar o valor do construtor de um objeto genérico. Apenastrue,1 e"test" não serão afetados sendo que eles temconstrutoresread-only nativos. Esse exemplo apresenta que nem sempre é seguro depender da propriedadeconstructor de um objeto.

js
function Type() {}var types = [  new Array(),  [],  new Boolean(),  true, // remains unchanged  new Date(),  new Error(),  new Function(),  function () {},  Math,  new Number(),  1, // remains unchanged  new Object(),  {},  new RegExp(),  /(?:)/,  new String(),  "test", // remains unchanged];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"));

Esse exemplo apresenta a seguinte saída:

js
function Type() {},false,function Type() {},false,function Type() {},false,falsefunction Boolean() {    [native code]},false,truefunction Type() {},false,Mon Sep 01 2014 16:03:49 GMT+0600function Type() {},false,Errorfunction Type() {},false,function anonymous() {}function Type() {},false,function () {}function Type() {},false,[object Math]function Type() {},false,0function Number() {    [native code]},false,1function Type() {},false,[object Object]function Type() {},false,[object Object]function Type() {},false,/(?:)/function Type() {},false,/(?:)/function Type() {},false,function String() {    [native code]},false,test

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-object.prototype.constructor

Compatibilidade de Browser

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp