17.09.2015, 19:07
|
Аспирант
|
|
Регистрация: 16.09.2015
Сообщений: 34
|
|
Сообщение от FINoM
|
Одной штуки, конечно, не хватает в JS, которая есть в Кофе:
|
теперь есть.
Object.prototype.$=function(slot){
var self = this
if(slot in this && typeof this[slot] === "function") return function(){return self[slot].apply(self, arguments)}
if(slot in this) return this[slot]
return {value: undefined}
}
o={foo: {bar: 1}, bar: 1, baz: function(x){return x+this.bar}}
console.log(
o.$("foo").$("bar"),
o.$("baz")(4),
o.$("moo").$("foo")
)
//1 5 { value: undefined }
Вопросительный знак использовать не получится, но можно юзать другие идентификаторы. Синтаксис чуть другой, суть та же. МБ надо чуть допилить, толком не тестил.
|
|
17.09.2015, 19:12
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от newtimebigtime
|
теперь есть.
|
Выглядит как адовый костыль. Плюс, какать в прототипы не очень верно.
|
|
17.09.2015, 19:19
|
Аспирант
|
|
Регистрация: 16.09.2015
Сообщений: 34
|
|
Сообщение от FINoM
|
Выглядит как адовый костыль.
|
Это с непривычки. По сути - то е самое.
Сообщение от FINoM
|
в прототипы не очень верно.
|
это не обязательно. Можно создать сабкласс Object, и на его основе слепить то же самое.
Короче, я говорю, никаких принципиально важных возможностей в этих хипстерских поделиях нет, таких, которые нельзя реализовать нативно. Все эти Вау, сводятся к мелким синтаксическим вещам, там скобочку не надо ставить, там стрелочка вместо function, короче детсад, даже экономией на спичках назвать трудно.
|
|
17.09.2015, 19:24
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от newtimebigtime
|
там стрелочка вместо function
|
В ES6 тоже есть стрелочка. Она даже в 46 Хроме есть, без флагов.
|
|
17.09.2015, 19:27
|
Аспирант
|
|
Регистрация: 16.09.2015
Сообщений: 34
|
|
Сообщение от FINoM
|
В ES6 тоже есть стрелочка. Она даже в 46 Хроме есть, без флагов.
|
Я к тому, что это детсад. В крупном приложении эти стрелочки/нестрелочки в общем объеме кода мало что решают.
|
|
17.09.2015, 19:35
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от newtimebigtime
|
В крупном приложении эти стрелочки/нестрелочки в общем объеме кода мало что решают.
|
Ну не скажи. Как раз в крупном проекте они и нужны, чтоб улучшить читаемость кода и уменьшить количество строк.
|
|
17.09.2015, 19:37
|
Аспирант
|
|
Регистрация: 16.09.2015
Сообщений: 34
|
|
Сообщение от FINoM
|
чтоб улучшить читаемость кода и уменьшить количество строк.
|
Количество строк ты этим существенно не уменьшишь. А читаемость -- понятие субъективное, не буду спорить.
|
|
17.09.2015, 19:47
|
|
Профессор
|
|
Регистрация: 15.07.2015
Сообщений: 511
|
|
newtimebigtime, ты просто уперся в свое, а пробовать не хочешь "вдруг понравится, что я тогда делать буду?".
Все, кто юзают айфоны, говорят - фуфу вы все ходите с лопатами (4.7+ дюймов), а потом выходит iphone 6, 6+. О, это круто. Но.... Как же 4 дюйма???
Ты сейчас выглядишь как пользователь iphone 5 , который думает, что 4дюйма это невероятно круто.
|
|
17.09.2015, 20:22
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
Ну не скажи. Как раз в крупном проекте они и нужны, чтоб улучшить читаемость кода и уменьшить количество строк.
|
Ты паришься из-за того сколько строк полетит в репозиторий?
Читаемость кода улучшает дробежка на мелкие кусочки с явным API и желательно с документацией. К сожалению во многих проектах не всегда есть время на доки, а тем более юнит тесты. В таких условиях коффе код превращается в одну огромную регулярку с большей вероятностью чем js.
Эхх я тут умничал думая что твое сообщение касалось сахарности кофе
Цитата:
|
Одной штуки, конечно, не хватает в JS, которая есть в Кофе:
|
Ага, иногда рука дергается
__________________
Научу себя плохому
Последний раз редактировалось l-liava-l, 17.09.2015 в 20:24.
|
|
18.09.2015, 01:40
|
Профессор
|
|
Регистрация: 10.09.2015
Сообщений: 184
|
|
Сообщение от FINoM
|
Async functions, не? for..of loops не? let, const не?
|
Не
|
|
|
|