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

Object.prototype.valueOf() - 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.valueOf()

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.

O mtodo valueOf() retorna o valor primitivo do objeto especificado.

In this article

Experimente

function MyNumberType(n) {
  this.number = n;
}

MyNumberType.prototype.valueOf = function () {
  return this.number;
};

const object1 = new MyNumberType(4);

console.log(object1 + 3);
// Expected output: 7

Sintaxe

object.valueOf()

Valor retornado

O valor primitivo do objeto especificado.

Descrio

JavaScript chama o mtodo valueOf para converter um objeto em um valor primitivo. Voc raramente precisar chamar o mtodo valueOf por ele mesmo; O JavaScript chamar ele automaticamente quando encontrar um objeto onde um valor primitivo for esperado.

Por padro, o mtodo valueOf herdado por cada objeto descendente de Object. Todo ncleo embutido do objeto sobrescreve esse mtodo para retornar um valor apropriado. Se um objeto no tem um valor primitivo, valueOf retorna o prprio objeto.

Voc pode usar valueOf dentro do seu prprio cdigo para converter um objeto embutido, em um valor primitivo. Quando voc criar um objeto customizado, voc pode sobrescrever Object.prototype.valueOf() para chamar um mtodo customizado ao invs do mtodo padro Object.

Sobrescrevendo valueOf para objetos customizados

Voc pode criar uma funo para ser chamada no lougar do mtodo padro valueOf. Sua funo no pode ter nenhum argumento.

Suponha que voc tem um tipo de objeto MyNumberType e voc quer criar um mtodo valueOf para ele. O cdigo a seguir atribui uma funo definida por usurio para o mtodo valueOf desse objeto:

js
MyNumberType.prototype.valueOf = function () {
  return customPrimitiveValue;
};

Com o cdigo anterior no lugar, a qualquer hora um objeto do tipo MyNumberType usado em um contexto onde deve ser representado como um valor primitivo, o JavaScript chama automaticamente a funo definida no cdigo anterior.

Um mtodo valueOf de um objeto geralmente chamado pelo JavaScript, mas voc pode cham-lo se quiser da seguinte maneira:

js
myNumberType.valueOf();

Nota: Objetos em contexto de string convertidos atravs do mtodo toString(), o que diferente de objetos String convertendo para string primiriva utlizando valueOf. Todos os objetos tm uma converso string, somente se "[object type]". Mas muitos objetos no convertem para number, boolean, or function.

Exemplos

Usando valueOf

js
function MyNumberType(n) {
  this.number = n;
}

MyNumberType.prototype.valueOf = function () {
  return this.number;
};

var myObj = new MyNumberType(4);
myObj + 3; // 7

Especificaes

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

Compatibilidade com navegadores

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page