Object.prototype.valueOf()

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

Resumen

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

Sintaxis

object.valueOf()

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 retorna el objeto en sí, el cual, se muestra de la siguiente manera:

[object Object]

Usted 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.

Sobreescribieno valueOf para objetos personalizados

Usted 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

Ejemplo: Utilizando valueOf

o = new Object();
myVar = o.valueOf();      // [object Object]

Especificaciones

Especificación Estado Commentario
ECMAScript 1ra Edición. Estándar Definición inicial. Implementado en JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
The definition of 'Object.prototype.valueOf' in that specification.
Standard  
ECMAScript 6 (ECMA-262)
The definition of 'Object.prototype.valueOf' in that specification.
Release Candidate  

Compatibilidad con Navegadores

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

Etiquetas y colaboradores del documento

 Colaboradores en esta página: emiliot
 Última actualización por: emiliot,