📜  JavaScript Object.prototype.valueOf() 方法

📅  最后修改于: 2022-05-13 01:56:40.358000             🧑  作者: Mango

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 作为我们的最终答案。