Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2010, 21:06
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Перегрузка операторов + - и других
Есть ли в javascript-e возможность перегружать операторы + - и другие?
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2010, 21:09
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Нет.
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2010, 21:43
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

А жаль, эхххххххх......
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2014, 22:09
Аспирант
Отправить личное сообщение для moron Посмотреть профиль Найти все сообщения от moron
 
Регистрация: 29.07.2012
Сообщений: 49

Прошу прощения за некропост.
Я тоже считал, что нет, но наткнулся на это http://www.2ality.com/2011/12/fake-o...erloading.html - спешу поделиться.
Ответить с цитированием
  #5 (permalink)  
Старый 17.06.2014, 23:27
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

moron, изложи тут суть в кратце, а то я, например, не перехожу по всяким непонятным ссылкам. Там не про .valueOf?
Ответить с цитированием
  #6 (permalink)  
Старый 17.06.2014, 23:37
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,493

moron, это так - шуточки чтоб сломать мозги новичку. На деле неюзабельно.)
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 18.06.2014, 01:17
Аспирант
Отправить личное сообщение для moron Посмотреть профиль Найти все сообщения от moron
 
Регистрация: 29.07.2012
Сообщений: 49

Цитата:
На деле неюзабельно
Факт в том, что это есть, а юзкейс можно придумать.
Цитата:
Там не про .valueOf?
Оно, но до определения операторов я бы наврят ли сам дошел, а уж до git:jsDecorators или git:jsPipe - никогда в жисти.
Цитата:
изложи тут суть в кратце
В статье опператоры определяются следующим образом:
1) переопределяется метод valueOf так, что каждый обьект возвращает примитив 3, а так же пушит в массив операндов. Пример: point1+point2+point3 //=9 где point[1-3] обьекты стр.15-20
2) в итоге при разных операторах итоговых результат будет разный
3) дальше в игру вступают некросбраузерные, но безумно сладкие штуки defineProperty(ie8+) и нативный сетер(ie9+). стр.21 Нативный сеттер получает значение, представим: obj1+obj2+obj3 даст нам 9, а еще мы знаем количество операндов, определить что за оператор был не составит труда. стр.22-33
4) юзаем соотв. ф-юю. стр.38
Можно посмотреть так же в код jsPipe и jsDecorator(ссылки выше) - он простой, но это меня просто приятно удивило.
--
upd Но есть проблема: point1+point2-point3 он уже распарсит неверно Вроде...
upd2 Видимо в этом действительно нет ничего особенного - моя радуга куда-то ушла.

Последний раз редактировалось moron, 18.06.2014 в 01:33.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как при наведении на один объект изменять стили других? greysells jQuery 4 06.12.2009 11:00
Как вставить тег в конец других? SashaBorandi jQuery 7 28.08.2009 15:10
Несколько операторов в onClick sergeimi Общие вопросы Javascript 10 13.06.2009 03:10
Не работают скрипты в IE 5 и других браузерах Юнит Internet Explorer 46 10.06.2009 22:16