Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. Object
  6. Object.prototype.constructor

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

View in EnglishAlways switch to English

Object.prototype.constructor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

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