Como dice
Panino5001, el método valueOf() sirve para retornar el valor primitivo de un objeto, y si éste no tiene, devuelve el objeto en sí, sin realizar ninguna modificación especial. Un ejemplo:
Código:
var obj = new String("foo");
typeof obj; // "object"
typeof obj.valueOf(); // "string"
Es poco frecuente utilizarlo, ya que JavaScript lo hace de forma automática en la mayoría de los casos, cuando lo que se espera obtener es un valor primitivo.