Метод valueOf - позволяет задать функцию для численного преобразования. Если этого метода нет, используется toString.

Метод valueOf обязан возвращать строку, если он будет возвращать объект - он будет игнорироваться.

См. также toString (преобразование с строку).

Синтаксис

объект.valueOf = function () {
	return 'число'
};

Примеры

Пример

С помощью valueOf напишем собственную функцию для преобразования объекта в число:

var obj = {
	value: 25,
	valueOf: function() {
		return this.value;
	}
};

document.write(obj * 2);

Результат выполнения кода:

50

Пример

Теперь давайте уберем из объекта valueOf:

var obj = {
	value: 25,
};

document.write(obj * 2);

Результат выполнения кода:

NaN

Пример

Если valueOf не - будет использован toString:

var obj = {
	value: 25,
	toString: function() {
		return this.value;
	}
};

document.write(obj * 2);

Результат выполнения кода:

50

Пример

Некоторые стандартные объекты имеют свои функции valueOf:

alert(new Date()) //''
alert([1, 2, 3]) //'1,2,3'