var obj = new Number(1);
var pr1 = Number(obj); // неявный вызов valueOf
var pr2 = obj.valueOf(); // явный
alert([
typeof obj, // "object"
typeof pr1, // "number"
typeof pr2 // "number"
]);
Riim, есть сомнения в существовании valueOf у объекта?
var foo = {
a: true,
b: true,
valueOf: function () {
return this.b + this.a;
}
};
alert(+foo);