| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La mthode valueOf() renvoie la valeur primitive d'un objet donn.
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
object.valueOf();
La valeur primitive de l'objet appelant.
JavaScript appelle la mthode valueOf pour convertir un objet en une valeur primitive. Il est rarement ncessaire d'appeler soi-mme la mthode valueOf ; JavaScript l'invoque automatiquement lorsqu'il rencontre un objet alors qu'il attend une valeur primitive.
Par dfaut, la mthode valueOf est hrite par tout objet descendant d'Object. Tous les objets globaux natifs redfinissent cette mthode pour renvoyer une valeur approprie. Si un objet n'a pas de valeur primitive, valueOf renvoie l'objet lui-mme, ce qui sera affich comme :
[object Object]
valueOf peut tre utilise afin de convertir un objet prdfini en une valeur primitive. Si un objet est dfini dans un script, il est possible de surcharger Object.prototype.valueOf pour appeler une mthode personnalise au lieu de la mthode par dfaut d'Object.
valueOf pour des objets personnalissIl est possible de crer une fonction appeler la place de la mthode valueOf par dfaut. Celle-ci ne peut pas recevoir de paramtres.
Supposons qu'on ait un type d'objet monTypeDeNombre et qu'on dsire lui ajouter une mthode valueOf spcifique, on pourra utiliser le code suivant :
monTypeDeNombre.prototype.valueOf = function () {
return valeurPrimitive;
};
En utilisant ce code, chaque fois qu'un objet de type monTypeDeNombre sera utilis dans un contexte o il doit tre reprsent comme une valeur primitive, JavaScript appellera automatiquement la fonction qui y est dfinie.
C'est habituellement JavaScript qui invoquera la mthode valueOf, mais il est aussi possible de l'appeler soi-mme :
monNombre.valueOf();
Note :
Les objets utiliser dans un contexte textuel sont convertis avec la mthode toString() ce qui est diffrent de la conversion d'objets String en valeurs primitives avec valueOf. Tous les objets peuvent tre convertis en chanes de caractres (la faon la plus gnrique tant "[object type]"). En revanche, la plupart des objets ne peut pas tre convertie en nombre ou boolen par exemple.
valueOffunction MonTypeDeNombre(n) {
this.nombre = n;
}
MonTypeDeNombre.prototype.valueOf = function () {
return this.nombre;
};
var monObj = new MonTypeDeNombre(4);
console.log(monObj + 3); // 7 car l'opration a implicitement utilis valueOf
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-object.prototype.valueof |
Cette page a t modifie le 22 mai 2026 par les contributeurices du MDN.
ObjectObject.assign()Object.create()Object.defineProperties()Object.defineProperty()entries()Object.freeze()Object.fromEntries()Object.getOwnPropertyDescriptor()Object.getOwnPropertyDescriptors()Object.getOwnPropertyNames()Object.getOwnPropertySymbols()Object.getPrototypeOf()Object.groupBy()Object.hasOwn()Object.is()Object.isExtensible()Object.isFrozen()Object.isSealed()Object.keys()Object.preventExtensions()Object.seal()Object.setPrototypeOf()Object.values()Object.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Object/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |