Object.valueOf

 

Résumé

Renvoie la valeur primitive de l'objet spécifié.

Méthode de Object
Implémenté dans : JavaScript 1.1
Version ECMA : ECMA-262

Syntaxe

valueOf()

Paramètres

Aucun.

Description

JavaScript appelle la méthode valueOf pour convertir un objet en une valeur primitive. Il est rarement nécessaire d'appeler soi-même la méthode valueOf ; JavaScript l'invoque automatiquement lorsqu'il rencontre un objet alors qu'il attend une valeur primitive.

Par défaut, la méthode valueOf est héritée par tout objet descendant d'Object. Tous les objets globaux prédéfinis redéfinissent cette méthode pour renvoyer une valeur appropriée. Si un objet n'a pas de valeur primitive, valueOf renvoie l'objet lui-même, ce qui sera affiché comme :

[object Object]

Vous pouvez utiliser valueOf dans votre propre code pour convertir un objet prédéfini en une valeur primitive. Si vous créez un objet personnalisé, vous pouvez redéfinir Object.valueOf pour appeler une méthode personnalisée au lieu de la méthode par défaut d'Object.

Redéfinition de valueOf pour des objets personnalisés

Il est possible de créer une fonction à appeler à la place de la méthode valueOf par défaut. Celle-ci ne peut pas recevoir de paramètres.

Supposons que vous ayez un type d'objet monTypeDeNombre et que vous désiriez lui créer une méthode valueOf. Le code qui suit assigne une fonction personnalisée à la méthode valueOf de l'objet :

monTypeDeNombre.prototype.valueOf = new Function(contenu_de_la_fonction);

En utilisant ce code, chaque fois qu'un objet de type monTypeDeNombre sera utilisé dans un contexte où il doit être représenté comme une valeur primitive, JavaScript appellera automatiquement la fonction qui y est définie.

C'est habituellement JavaScript qui invoquera la méthode valueOf, mais vous pouvez également l'appeler par vous-même comme ceci :

monNombre.valueOf()

Note

Les objets dans des contextes de chaînes sont convertis via la méthode toString, ce qui est différent de la conversion d'objets String en chaînes primitives via valueOf. Tous les objets ont une conversion en chaîne, ne fut-ce que « [object type ] ». Mais beaucoup d'objets ne peuvent pas être convertis en nombres, en booléens ou en fonctions.

Voir également

parseInt, toString

 

Étiquettes et contributeurs liés au document

Étiquettes :
Contributeurs ayant participé à cette page : tregagnon, BenoitL, MWeiss
Dernière mise à jour par : tregagnon,