valueOf()
方法的语法为:
obj.valueOf()
在这里, obj
是一个对象。
valueOf()参数
valueOf()
方法不带任何参数。
从valueOf()返回值
- 返回指定对象的原始值。
注意事项 :
- 对于
Object
类型的Object
,没有原始值,因此valueOf()
方法仅返回对象本身。 - 但是,对于类型为
Number
,Boolean
或String
对象,valueOf()
返回由相应对象表示的原始值。
示例1:自定义valueOf()
function customNum(n, fact) {
this.number = n;
this.fact = fact;
}
customNum.prototype.valueOf = function () {
return this.number;
};
var num1 = new customNum(2, "First Prime Number");
console.log(num1 + 3); // 5
输出
5
示例2:使用内置的valueOf()
// built-in valueOf()
const num = 5;
// string.toString() changes string to number
console.log(+"5" + num); // 10
console.log(+[1] + num); // 6
console.log(+true + num); // 6
console.log(+false + num); // 5
console.log(+undefined + num); // NaN
console.log(+null + num); // 5
输出
10
6
6
5
NaN
5
推荐阅读: JavaScript对象toString()