[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Object/toString [Back]  [Original]

Object.prototype.toString() - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

Object.prototype.toString()

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since julho de 2015.

Sumrio

O mtodo toString() retorna uma string representando o objeto.

In this article

Experimente

function Dog(name) {
  this.name = name;
}

const dog1 = new Dog("Gabby");

Dog.prototype.toString = function dogToString() {
  return `${this.name}`;
};

console.log(dog1.toString());
// Expected output: "Gabby"

Sintaxe

js
obj.toString();

Descrio

Todo objeto possui um mtodo toString() que chamado automaticamente quando o objeto precisa ser representado como um valor em texto ou quando o objeto referenciado de uma maneira que requeira uma string. Por padro, o mtodo toString() herdado de todo objeto descendente de Object. Se e o mtodo no sobrescrito em um objeto personalizado, toString() retorna "[object type]", onde type o tipo do objeto. O cdigo a seguir ilustra isso:

js
var o = new Object();
o.toString(); // retorna [object Object]

Nota: Starting in JavaScript 1.8.5 toString() called on null returns [object Null], and undefined returns [object Undefined], as defined in the 5th Edition of ECMAScript and a subsequent Errata. See Using toString to detect object type.

Examples

Exemplo: Sobrepondo o mtodo inicial toString

Voc pode criar uma funo para ser chamada no lugar do mtodo toString(). O mtodo toString() no requer parmetros e deve retornar uma string. O mtodo toString() criado por voc pode ter o valor que quiser, mas ser mais til se usar informaes do objeto.

O cdigo abaixo define o objeto Dog e cria theDog, um objeto do tipo Dog:

js
function Dog(name, breed, color, sex) {
  this.name = name;
  this.breed = breed;
  this.color = color;
  this.sex = sex;
}

theDog = new Dog("Gabby", "Lab", "chocolate", "female");

Se voc chamar o mtodo toString() neste objeto, ele retornar o valor original herdado de Object:

js
theDog.toString(); // returns [object Object]

O cdigo abaixo cria e faz com que dogToString() sobrescreva o toString() original. Esta funo gera uma string contendo name, breed, color, and sex do objeto, na forma de "propriedade = valor;".

js
Dog.prototype.toString = function dogToString() {
  var ret =
    "Dog " +
    this.name +
    " is a " +
    this.sex +
    " " +
    this.color +
    " " +
    this.breed;
  return ret;
};

Usando este cdigo, toda vez que theDog for usado em um texto (string), JavaScript automaticamente chamar a funo dogToString(), a qual retornar:

Dog Gabby is a female chocolate Lab

Exemplo: Usando toString() para detectar a classe do objeto

toString() pode ser usado com qualquer objeto e permite que voc determine sua classe. Para usar Object.prototype.toString() com qualquer objeto, dever chamar Function.prototype.call() ou Function.prototype.apply() nele, passando o objeto que quer inspecionar como o primeiro parmetro, chamado thisArg.

js
var toString = Object.prototype.toString;

toString.call(new Date()); // [object Date]
toString.call(new String()); // [object String]
toString.call(Math); // [object Math]

// Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]

Especificaes

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

Compatibilidade

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page