Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.09.2011, 19:18
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

преобразование объекта
чет пробился несколько часов, так и не смог сделать такое поведение у объекта:
+foo // 1 (1)
foo+'' // 'number' (2)

фишка в том, что если задан valueOf он также вызавается во втором случае и получается '1', а чтобы получить 'number', надо вручную прописывать toString, что не очень элегантно
Ответить с цитированием
  #2 (permalink)  
Старый 05.09.2011, 19:38
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

В чем не элегантно? valueOf() и toString() по-сути оба возвращают элементарное значение.

Но при приведении типов в случае использования объекта, как int, вызывается valueOf(), а при конкатенации строк вызывается toString().

Добавлено:
Нет, оказывается приоритет дается valueOf(), если даже toString() определен отдельно.
Тогда получается, что решить задачу с такой перегрузкой не получится.

Последний раз редактировалось Андрей Параничев, 05.09.2011 в 19:40.
Ответить с цитированием
  #3 (permalink)  
Старый 05.09.2011, 19:45
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Цитата:
Нет, оказывается приоритет дается valueOf(), если даже toString() определен отдельно.
Да вот и я о том же.
Хотел, чтобы объект можно было сравнивать и с числом и со сторокой.
obj == 1 // true
obj == 'number' // true
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт вычисления координат объекта banderasantonio197555 Events/DOM/Window 4 16.08.2011 17:37
прямая от первого объекта до второго ntro123 Events/DOM/Window 5 09.05.2011 08:41
импорт объекта в текущий скоп LedVisel Общие вопросы Javascript 4 06.06.2010 00:31
Как по событию вызвать метод определенного экземпляра объекта jvs jQuery 3 24.12.2009 16:04
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00