15.2.4.4 Object.prototype.valueOf()

2010-07-04

object Object.prototype.valueOf()

Note that as this is the valueOf of Object, the returned value is an object. In fact, it will be the result of coercing the this value. Custom results may be returned for host objects.

Code: (Meta Ecma)
Object.prototype.valueOf = function(){
var O = ToObject(this);
if (IsHostObject(O)) return O; // host objects may implement a custom mechanism here
return O;
}

Basically, this method is a mapping to the abstract ToObject function. Note that host objects are coerced as well, regardless of their optional behaviour.