JavaScript Object.prototype.valueOf() 方法
在 JavaScript 中, Object.prototype.valueOf() 方法用于返回指定对象的原始值。每当需要原始值时,JavaScript 都会自动调用 valueOf() 方法。 valueOf() 方法被 JavaScript 中的每个对象自动继承。每个对象都覆盖此方法以返回适当的原始值。如果此对象不存在原始值,则 JavaScript 返回对象本身。我们可以重写此方法以将任何内置对象转换为原始值。在自定义对象类型的情况下,我们重写此方法以调用自定义方法。
如果我们正在处理自定义对象类型,我们可以使用以下语法来覆盖它的 valueOf() 方法:
句法:
ObjectType.prototype.valueOf = function() {
return CustomPrimitiveValue;
};
在这种语法中,
- ObjectType:用户创建的自定义对象类型。
- CustomPrimitiveValue:指定对象的原始值。
虽然 valueOf() 方法在 JavaScript 中是自动调用的,但我们可以使用以下语法自己调用它:
句法:
ObjectType.valueOf()
例子:
JavaScript
输出:
在上面的示例中,我们尝试重写 valueOf() 方法以将原始值作为实际数字加 3 返回。因此,将 18 作为参数传递后返回的原始值是 21。当我们尝试记录原始值减去 12 时,我们得到了 21-12,即 9 作为我们的最终答案。