Показать сообщение отдельно
  #1 (permalink)  
Старый 31.12.2015, 14:11
Интересующийся
Отправить личное сообщение для Nazaki Посмотреть профиль Найти все сообщения от Nazaki
 
Регистрация: 23.12.2015
Сообщений: 16

toString или valueOf ???
Имею такой код
var foo = {
  toString: function() {
    return 'foo';
  },
  valueOf: function() {
    return 2;
  }
};
alert( foo ); // 'foo'
alert( foo + '1' ); // '21'
alert( foo || '3' ); // 'foo'


Насколько я заметил, интерпретатор возвращает toString, если с результатом не производить никаких манипуляций. Если с результатом что-то делаем, то вернет valueOf. Скажем так - это мои предположения исходя из полученных результатов. Но я не нашел в документации, где бы рассматривался подобный пример, чтобы чётко иметь представление об алгоритме работы.
Ответить с цитированием