Object.prototype.valueOf()

El m茅todo valueOf() retorna el valor primitivo del objeto especificado.

Sintaxis

object.valueOf()

Valor de retorno

El valor primitivo del objeto especificado.

 

 

Descripci贸n

JavaScript utiliza el m茅todo valueOf para convertir un objeto a un valor primitivo. Raramente usted necesitar谩 invocar el m茅todo valueOf por su cuenta; JavaScript lo realizar谩 de forma autom谩tica cuando encuentre un objeto, donde un valor primitivo es esperado.

Por defecto, el m茅todo valueOf es heredado por cada objeto descendiente de Object. Cada objeto incorporado en el n煤cleo del lenguaje sobreescribe este m茅todo 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 c贸digo para convertir un objeto incorporado en el n煤cleo del lenguaje en un valor primitivo. Cuando usted crea un objeto personalizado, puede sobreescribir el comportamiento de Object.prototype.valueOf() para invocar un m茅todo personalizado, en vez de utilizar el m茅todo por defecto Object.

Sobreescribiendo valueOf para objetos personalizados

Puede crear una funci贸n para ser invocada en lugar de utilizar el m茅todo valueOf por defecto. Su funci贸n no debe contener ning煤n par谩metro.

Suponga que tiene un objeto de tipo myNumberType y usted quiere crear un m茅todo valueOf para este. El c贸digo a continuaci贸n asigna una funci贸n personalizada al m茅todo valueOf:

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

Al tener el c贸digo anterior funcionando, cada vez que un objeto de tipo myNumberType es utilizado en un contexto donde deba ser representado por un valor primitivo, JavaScript autom谩ticamente invocar谩 la funci贸n definida en el c贸digo anterior.

El m茅todo valueOf es invocado usualmente por JavaScript pero usted puede invocarlo directamente como sigue a continuaci贸n:

myNumber.valueOf()

Nota: Objetos en contextos de string realizan la conversi贸n a string a trav茅s del m茅todo toString() , el cual, es diferente de String para convertir objetos a primitivos string utilizando el m茅todo 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

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

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

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

Especificaciones

Especificaci贸n Estado Commentario
ECMAScript 1ra Edici贸n. Est谩ndar Definici贸n inicial. Implementado en JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
La definici贸n de 'Object.prototype.valueOf' en esta especificaci贸n.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La definici贸n de 'Object.prototype.valueOf' en esta especificaci贸n.
Standard

 

ECMAScript (ECMA-262)
La definici贸n de 'Object.prototype.valueOf' en esta especificaci贸n.
Living Standard     

Compatibilidad con Navegadores

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)
Elemento Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte B谩sico (Yes) (Yes) (Yes) (Yes) (Yes)
Elemento Android Chrome para Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte B谩sico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Vea tambi茅n