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

Object.prototype.valueOf() - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de 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 julio de 2015.

El mtodo valueOf() retorna el valor primitivo del objeto especificado.

In this article

Sintaxis

object.valueOf()

Valor de retorno

El valor primitivo del objeto especificado.

Prubalo

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

Descripcin

JavaScript utiliza el mtodo valueOf para convertir un objeto a un valor primitivo. Raramente usted necesitar invocar el mtodo valueOf por su cuenta; JavaScript lo realizar de forma automtica cuando encuentre un objeto, donde un valor primitivo es esperado.

Por defecto, el mtodo valueOf es heredado por cada objeto descendiente de Object. Cada objeto incorporado en el ncleo del lenguaje sobreescribe este mtodo para retornar un valor apropiado. Si un objeto no tiene un valor primitivo, valueOf devuelve el objeto en s.

Puede utilizar valueOf dentro de su propio cdigo para convertir un objeto incorporado en el ncleo del lenguaje en un valor primitivo. Cuando usted crea un objeto personalizado, puede sobreescribir el comportamiento de Object.prototype.valueOf() para invocar un mtodo personalizado, en vez de utilizar el mtodo por defecto Object.

Sobreescribiendo valueOf para objetos personalizados

Puede crear una funcin para ser invocada en lugar de utilizar el mtodo valueOf por defecto. Su funcin no debe contener ningn parmetro.

Suponga que tiene un objeto de tipo myNumberType y usted quiere crear un mtodo valueOf para este. El cdigo a continuacin asigna una funcin personalizada al mtodo valueOf:

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

Al tener el cdigo anterior funcionando, cada vez que un objeto de tipo myNumberType es utilizado en un contexto donde deba ser representado por un valor primitivo, JavaScript automticamente invocar la funcin definida en el cdigo anterior.

El mtodo valueOf es invocado usualmente por JavaScript pero usted puede invocarlo directamente como sigue a continuacin:

js
myNumber.valueOf();

Nota: Objetos en contextos de string realizan la conversin a string a travs del mtodo toString() , el cual, es diferente de String para convertir objetos a primitivos string utilizando el mtodo valueOf. Todos los objetos pueden ser convertidos a string, si solo "[object _type_]". Pero muchos objetos no se pueden convertir a number, boolean o function.

Ejemplos

Utilizando valueOf

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

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

myObj = new myNumberType(4);
myObj + 3; // 7

Especificaciones

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

Compatibilidad con navegadores

Vea tambin


Web Proxy Viewer  |  New URL  |  Original Page