Unleashing the Power of valueOf in JavaScript
Last Updated :
04 Oct, 2023
In JavaScript, The valueOf() method is a fundamental method that allows objects to specify how they should be converted to primitive values. When an object is used in a context where a primitive value is expected JavaScript automatically calls the valueOf() method on the object to get its primitive representation.
We will explore all the above methods along with their basic implementation with the help of examples.
Approach 1: Customizing valueOf() for Basic Object
Customizing the valueOf() method for basic JavaScript objects allows you to define how the object should be represented as a primitive value. By default, when JavaScript tries to convert an object to a primitive it will call the valueOf() method on the object if it exists.
Syntax:
const geek = {
value: 51,
valueOf() {
return this.value;
}
};
Example: In this example, we are using the above-explained approach.
Javascript
const geek = {
value: 51,
valueOf() {
return this .value;
}
};
console.log(geek + 5);
|
Approach 2: Customizing valueOf() for Custom Class
You can create a custom class and customize the valueOf() method to define how instances of the class should behave when coerced to a primitive value. By default, when an object is used in a context where a primitive value is expected and JavaScript will call the valueOf() method to obtain the primitive representation of the object.
Syntax:
class geek {
constructor(value) {
//code
}
valueOf() {
// code
}
};
Example: In this example, we are using the above-explained approach.
Javascript
class geek {
constructor(value) {
this .value = value;
}
valueOf() {
return this .value;
}
}
const obj = new geek(110);
console.log(obj + 30);
|
Approach 3: Exploiting valueOf() in Math Operations
You can leverage the valueOf() method to customize how an object is treated in mathematical operations. you can make objects behave like primitive values in arithmetic expressions and This can be useful when working with custom objects and you want them to interact seamlessly with the JavaScript’s built-in arithmetic operations.
Syntax:
const gfg = {
hours: 4,
minutes: 20,
valueOf() {
return this.hours * 50 + this.minutes;
}
};
Example: In this example, we are using the above-explained approach.
Javascript
const gfg = {
hours: 4,
minutes: 20,
valueOf() {
return this .hours * 50 + this .minutes;
}
};
const totalTimeInMinutes = gfg + 13;
console.log(totalTimeInMinutes);
|
Share your thoughts in the comments
Please Login to comment...