Цитата:
|
На деле неюзабельно
|
Факт в том, что это есть, а юзкейс можно придумать.
Цитата:
|
Там не про .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 Видимо в этом действительно нет ничего особенного - моя радуга куда-то ушла.