можно ли переопределить операторы?
можно ли переопределить операторы?
что-то мне подсказыват, что нет. мне правильно кажется? |
KOLANICH,
<html> <head> <script> alert('работает'); </script> </head> <body> </body> <script> function alert(text) { document.body.innerHTML= text; } alert("работает, но по другому."); </script> </html> |
алерт - не оператор, а встроенная функция
== ,<<,>>,=,!=,++,-- - вот это операторы |
KOLANICH,
тьфу блин, что-то я видимо засиделся сегодня((( а зачем тебе это и вообще ты себе это представляешь? |
чтобы через switch можно было юзать
|
KOLANICH,
и так можно, делай поиск в строке, после пропускай через switch, а так нет. |
ясно
похоже надо это внести в след спецификацию javascript :) |
KOLANICH,
зачем? по моему бессмысленно, без надобно. |
Цитата:
Цитата:
|
я бы лучше константы ввёл:)
|
Зачем?
|
Самое смешное, что те, кто работают(как их там) над следующей спецификацией JS согласны с KOLANICHем. Я так понимаю, тут собраны предложения, которые вполне могут материализоваться в будущем.
|
наконец -то джаваскрипт станет похож на нормальный язык программирования (то есть на c-подобный)
|
KOLANICH, а на кой черт в JS сдалась перегрузка операторов? Можно переопределить для своего класса toString и valueOf.
|
Вроде бы народ хочет BigInteger, Decimal и т.п.
|
спасибо
так и сделаю я вообще-то хотел переопределить для встроенного класса |
Цитата:
JS не менее нормален, чем C/C++ в чем-то даже более нормален, чем последний. но это тема для холивара скорее. Если уж на то пошло, С++ имеет одну из самых худших реализаций ООП среди живущих языков Его капитально обгоняют Java, Objective C, Oberon, и еще многие И уж тем более глупо, пытаться JS переделать под другой язык, только от того, что кому-то привычнее грабли из другого языка. Кстати, с каких пор, атрибутом "С-подобных" языков стала перегрузка оператора? вот, С является "С-подобным языком". но в нем нету перегрузки оператора |
Цитата:
|
:lol: :lol: :lol:
Сори за оффтоп. Sweet, в точку! |
Цитата:
|
отсутствие перегрузки операторов не даёт делать на яваскрипте нормальные дсл-и и вводить дополнительные типы
|
Цитата:
|
А вы уверены, что это правильный вопрос? Обойтись можно без многого, особенно без Javascript. Вопрос ведь в удобстве...
|
Цитата:
и не стали кучей абсолютно идентичных языков? а потому что удобство определяется конкретной областью применения, идеологией языка, и еще многими факторами, и не явялется константой. Вот примеры: - множественное наследование, или отсутствие его? - прототипное ООП, или же классовое. или вообще процедурное? а может функциональное?) - возможность писать быстро выполняемый код(ASM), или же удобная абстракция, позволяющая быстро писать код - и еще куча Все эти вопросы являются темой для отдельного холивара, и в каждом случае нету правильного ответа. Вы придумываете что "будет удобней" для JS, исходя из опыта изучения всего лишь одного языка. я практически уверен, что для вас составить Тьюирингову машину, или написать ASM_код нереально. или понять идеологию функциональных языков(я сам ее недостаточно понимаю, но просто не было практической необходимости) |
Цитата:
И мне всё-таки интересно, почему перегрузка операторов и пользовательские типы не кошерны в JS. |
например, хотим мы реализовать комплексные числа или вектора с матрицами..
без перегрузки операторов: val1= val1.add( val2 ).sub( val3.mult( val4 ) ) if( val1.eq( val2 ) ).. с перегрузкой: val1+= val2 - val3 * val4 if( val1 == val2 ).. |
Часовой пояс GMT +3, время: 10:26. |