📜  Javascript对象valueOf()

📅  最后修改于: 2020-09-27 06:58:51             🧑  作者: Mango

JavaScript Object valueOf()方法返回指定对象的原始值。

valueOf()方法的语法为:

obj.valueOf()

在这里, obj是一个对象。


valueOf()参数

valueOf()方法不带任何参数。


从valueOf()返回值
  • 返回指定对象的原始值。

注意事项

  • 对于Object类型的Object ,没有原始值,因此valueOf()方法仅返回对象本身。
  • 但是,对于类型为NumberBooleanString对象, 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()