ТОТ_САМЫЙ,
Цитата:
Цитата:
|
Цитата:
У CS, в разы лучше синтаксис чем a ES6, большее сообщество, умные чуваки, грамотно разрабатывающие стандарт и, что самое главное, CS зависим от JS и не сможет нормально развиваться без JS, а JS развивается. |
Так ребят я не понимаю мне сравнение привести штоле раз вам не очевидно? Пофиг седня заверстаю страничку со сравнением если будет время.
|
В кофескрипте есть все что есть в ES6, но в ES6 есть не все что есть в CoffeeScript. Кто может поспорить с этим утверждением?
Генераторы, итераторы, аксессоры, прокси и прочая хрень - есть и в кофескрипте, и я искренне не понимаю что находится вместо мозга у тех кто заявляет что в ES6 это есть а в кофи нет. Они видимо вообще не знают что кофескрипт транслируется в яваскрипт)))) видимо туго у людей с головушкой то) func = -> yield do get class Cat Object.defineProperty @prototype, 'name', get: -> alert 'NAME!!!' new Cat().name compile to: var Cat, func; func = function*() { return (yield get()); }; Cat = (function() { function Cat() {} Object.defineProperty(Cat.prototype, 'name', { get: function() { return alert('NAME!!!'); } }); return Cat; })(); new Cat().name; |
Можно сахар написать (и можно его даже написать не засирая прототип, просто тогда надо будет писать set @, 'name' а не @set 'name')
Function.prototype.get = (name, getter)-> Object.defineProperty @prototype, name, set: Object.getOwnPropertyDescriptor(@prototype, name)?.set get: getter configurable: yes enumerable: yes Function.prototype.set = (name, setter)-> Object.defineProperty @prototype, name, get: Object.getOwnPropertyDescriptor(@prototype, name)?.get set: setter configurable: yes enumerable: yes class Cat @get 'name', -> alert 'GET NAME!!!' @set 'name', -> alert 'SET NAME!!!' (new Cat).name (new Cat).name = 22 compile to: var Cat; Function.prototype.get = function(name, getter) { var ref; return Object.defineProperty(this.prototype, name, { set: (ref = Object.getOwnPropertyDescriptor(this.prototype, name)) != null ? ref.set : void 0, get: getter, configurable: true, enumerable: true }); }; Function.prototype.set = function(name, setter) { var ref; return Object.defineProperty(this.prototype, name, { get: (ref = Object.getOwnPropertyDescriptor(this.prototype, name)) != null ? ref.get : void 0, set: setter, configurable: true, enumerable: true }); }; Cat = (function() { function Cat() {} Cat.get('name', function() { return alert('GET NAME!!!'); }); Cat.set('name', function() { return alert('SET NAME!!!'); }); return Cat; })(); (new Cat).name; (new Cat).name = 22; Можно вот так писать для красоты и.т.п. class Cat get Cat, 'name', -> alert 'GET NAME!!!' set Cat, 'name', -> alert 'SET NAME!!!' |
ТОТ_САМЫЙ, в своём коде ты: расширяешь прототип встроенного конструктора, определяешь дескриптор дважды, вызывая 4 функции (getOwnPropertyDescriptor x 2, defineProperty x 2), упоминаешь имя класса несколько раз (get Cat, 'name'), оставляя почву для ошибок при переименовании класса. Ну ок, если ты считаешь, что эти костыли - отличное решение. Кто-то на php прожит и ничего, все живы.
|
FINoM, нет я не расширяю. Ты просто тупой. Перечитай. Ты вообще не читал походу.
Вызываю дескриптор дважды и нет причин этого не делать. Я мог единожды но мне так больше нравится. Нет я не упоминаю имя класса гескоьько раз. Ты просто тупой. Перечитай. Когда я определяю статические методы я тоже упоминмю. Но ты тупой. Ты это игнорируешь. Нет причин не упоминать имя класса несколько раз. Вместо имери класса можно писать @ но тупой, текст не читал и этого не знаешь. Что из того что там написано костыль, если то что там написано это сахар? Ты вообще читал тпкст или только код сиотрел? Если второе то ты тупой. Я вообще не понимпю, на этом форуме не иупые люди то вообще остались, кроме кобеззы??? |
FINoM,
Учитывая что ты не такой умный я проговорю очевидность: то чть функция дефайна вызывается 2 раза это не минус так как данный участок кода(декларация классов) не является горячим и не требует оптимизации и приоритет надо ттдавать абстракциям и сахарности. Но ты тупой и не понял 100% из того что я щас сказал. |
ТОТ_САМЫЙ,
![]() Господа модераторы, персонаж перешел на прямые оскорбления. Просьба отреагировать на это в соответствии с правилами форума. |
FINoM, ты прочитай че я написал и че ты напсиал. Ты пьяный штоле был? Ты вчитайся в буквы которые я пишу и как на это реагируешь ТЫ. Я говорю ему что @ и имя класса в теле класса это одно и то же и что мол для наглядности и красоты можно писать get ClassName а не get @
а он мне "Ты пишешь имя класса каждый раз из за чего возможно опечататься" ты че поехавший??? опечатывальщик хренов. ты сам то веришь в что говоришь? в ES6 статические всегда так и обьявляются и там можно опечататься? Ты если название функции где то пишешь много раз то МОЖНО ЖЕ ОПЕЧАТАТЬСЯ)!!!!! Купи мозг парень, просто купи мозг, и трезво воспринимай аргументы мои. п.с. ага, "тупанул @ прикинься троллем (с) FINoM" |
Часовой пояс GMT +3, время: 14:38. |