Введите ваш адрес почты


sdcvoy.ru
Понравился сайт? Поделись с друзьями!
Главная » Javascript » Metody-tostring-valueof

Методы toString, valueOf

Здравствуйте, Дорогие читатели! В сегодняшнем уроке я расскажу вам о методах toString, valueOf. Они служат для преобразования объектов в примитив, в данном случае для строкового и численного преобразования. Хотелось сказать отдельно ещё об одном преобразовании, а именно — логическом. С ним проще всего, дело в том, что любой объект (даже пустой) в логическом контексте всегда будет true:

var obj = {};
if (obj){
alert("Объект преобразован в логическое выражение"); // true
}

toString

Рассмотрим строковое преобразование с помощью метода toString:

var bigCity = {

  town: 'Москва',

  toString: function() {
    return 'Столицей Российской Федерации является ' + this.town;
  }
};

alert( bigCity );  // Столицей Российской Федерации является Москва 

Надо сказать, что этот метод преобразовывает любое выражение в строку, включая и числа. Можно использовать и встроенные преобразования:

alert( new Date ); // toString для дат выводит дату в виде строки
alert( function() {} ); // toString для функции выводит её код
alert( [8, 4, 4] ); // toString для массивов выводит список элементов "8,4,4"

valueOf

Для численного преобразования используется метод valueOf:
var obj = {
number: 988,
valueOf: function(){
return this.number;
  }
};
var sum = obj+12;
alert( sum ); 

Числовые преобразованияЕсли помните для численного преобразования также можно использовать унарный плюс. Надо отметить что метод valueOf способен возвращать только примитивное значение иначе он просто игнорируется. Большинство объектов в JavaScript не имеют своего valueOf, исключением является объект Date, который может использовать оба метода.



наверх