valueOf
可以帮助你完成任何你想要做的事情:
class Foo {
constructor(value) { this.value = value; }
valueOf() { return this.value; }
^^^^^^^^^
}
var foo = new Foo(4);
console.log(+foo) // 4
valueOf
的工作原理。根据 文档:
因此,简单地引用对象不会调用JavaScript 调用 valueOf 方法将对象转换为原始值。
valueOf
;当然,这会使你无法引用底层对象。它用于需要将对象强制转换为原始值的情况,例如在 +foo
中。
valueOf
与 ES6 无关;它适用于所有对象。
var value
。 - kainlite