Javascript.RU

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

И я отлично вижу, что в моём примере идет две стадии преобразования. Но мой вопрос такой: Почему в данном примере интерпретатор возвращает Number (а не String) и потом преобразовывает в строку? По какому признаку он определил, что нужно Number вернуть?
Вот если бы у вас не было возможности выполнить код, а дать ответ опираясь исключительно на знания - вы ведь можете это сделать.. Просто глядя на код. Мой вопрос: что вам подсказывает, что интерпретатор ожидает Number? "Плюсик"? Если да - то почему.. Если что-то другое, скажите что.. Откройте тайну, умоляю ))
Ответить с цитированием
  #12 (permalink)  
Старый 02.01.2016, 00:08
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от Nazaki
Мой вопрос: что вам подсказывает, что интерпретатор ожидает Number? "Плюсик"? Если да - то почему.. Если что-то другое, скажите что.. Откройте тайну, умоляю ))
Извините, что наверное надоел этой ссылкой, но там всё есть:
https://learn.javascript.ru/object-c...зования
Бинарный оператор плюс + обычно использует числовое преобразование и метод valueOf. Как мы уже знаем, если подходящего valueOf нет (а его нет у большинства объектов), то используется toString, так что в итоге преобразование происходит к строке. Но если есть valueOf, то используется valueOf.
Ответить с цитированием
  #13 (permalink)  
Старый 02.01.2016, 00:25
Интересующийся
Отправить личное сообщение для Nazaki Посмотреть профиль Найти все сообщения от Nazaki
 
Регистрация: 23.12.2015
Сообщений: 16

Спасибо большое.

Я понял, почему изначально не нашел ответа в той статье... Видимо изначально статья была прочитана бегло, а когда конкретно искал ответ на этот вопрос, то не подумал бы, что искать нужно в абзаце "Исключение: Date". т.к. мой вопрос вроде как к дате не особо имел отношение.

Сейчас всё стало на свои места.. Благодарю
Ответить с цитированием
  #14 (permalink)  
Старый 02.01.2016, 22:51
Аспирант
Посмотреть профиль Найти все сообщения от callbackhell
 
Регистрация: 29.12.2015
Сообщений: 58

Сообщение от EmperioAf
так что в итоге преобразование происходит к строке. Но если есть valueOf, то используется valueOf.
Чо-то чушь там какая то написана. У объекта строки тоже есть valueOf
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ValueOf. Все точки над И. Vyus Общие вопросы Javascript 4 16.06.2014 22:29
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Internet Explorer 1 13.04.2011 21:59
В зависимости от referrer выводить рекламу adsene или зорьки wlad2 Общие вопросы Javascript 12 19.12.2010 01:02
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09