Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Функция Class жива! (https://javascript.ru/forum/offtopic/55353-funkciya-class-zhiva.html)

UIjs 10.05.2015 20:39

kobezzza, охренеть это правда??????


kobezzza 10.05.2015 20:44

Цитата:

Сообщение от UIjs (Сообщение 370166)
kobezzza, охренеть это правда??????


Угу, как видишь там ещё ES7 фичи + всякие плюхи, вроде поддержки React, а также всё устроено на плагинах, т.е. любую фичу можно включать / выключать и писать свои плаги, используя их API. Также отмечу, что если тебе не нужно 100% соотвествия стандарту, а более простой и быстрый генерируемый код, то смотри loose mode.

UIjs 10.05.2015 21:04

Цитата:

Сообщение от kobezzza
loose mode

аа вот че эт такое, блииин, офигеть. офигеть, чисто из за отсутствие сеттеров и геттеров в кофескрипте придется терпеть эту тучу плюшек и скобочки)

просто охренительно, спасибо. и кстати, обязательно вызывать в перекрытом конструкторе родительский? ну по стандарту

kobezzza 10.05.2015 21:06

Цитата:

аа вот че эт такое, блииин, офигеть. офигеть, чисто из за отсутствие сеттеров и геттеров в кофескрипте придется терпеть эту тучу плюшек и скобочки)
А что, кофе скрипт больше не развивается?

Цитата:

просто охренительно, спасибо. и кстати, обязательно вызывать в перекрытом конструкторе родительский? ну по стандарту
Нет. Хотя стоп, ты имеешь ввиду если ты переопределяешь конструктор? Тогда да.

UIjs 10.05.2015 22:53

Цитата:

Сообщение от kobezzza
А что, кофе скрипт больше не развивается?

они говорят что никак не развить до сеттеров, потому что я сам не понмиаю почему. но говорят что даже не планируют такое внедрять

Цитата:

Сообщение от kobezzza
Нет. Хотя стоп, ты имеешь ввиду если ты переопределяешь конструктор? Тогда да.

это по стандарту прям? то есть es6 браузеры ошибки будут выдвавать если я не вызову родительский конструктор)?

kobezzza 10.05.2015 23:48

Цитата:

это по стандарту прям? то есть es6 браузеры ошибки будут выдвавать если я не вызову родительский конструктор)?
Ну так делает Babel, а они оч четко придерживаются стандарта, а вообще я хз, т.к. нативно классы поддерживаются только в ночных сборках хрома и фф, а сам стандарт еще не закончен.

Цитата:

они говорят что никак не развить до сеттеров, потому что я сам не понмиаю почему. но говорят что даже не планируют такое внедрять
Мде. Можно взять ES6, написать транслятор для синтаксиса без скобочек и будет красота :)

UIjs 11.05.2015 00:53

Цитата:

Сообщение от kobezzza
Мде. Можно взять ES6, написать транслятор для синтаксиса без скобочек и будет красота

чтобы транслировал как в ES6 так в ES5 ))

эт я чет не понял, ассинхронная функция должна возвращать промис? обьясни этот момент пожалуйста О_О

ты с ассинхронками игрался? это ж самый сахар на ровне с проксями даже по уровню сровнится)

UIjs 11.05.2015 01:11

kobezzza, чому оно ошибку выдает (((?


kobezzza 11.05.2015 01:21

Цитата:

эт я чет не понял, ассинхронная функция должна возвращать промис? обьясни этот момент пожалуйста О_О
Да, это сахар над промисами, который позволяет писать синхронный код и юзать try-catch. Реализуется через генераторы ES6.

Цитата:

kobezzza, чому оно ошибку выдает (((?
await должен быть внутри async

async function foo() {
  const data = await getData();
  const data2 = await getSomeData(); 
  return await * [getData(), getSomeData()]; // Promise.all
}


Самовызываемые функции (как и arrow function) можно также использовать.

(async function () {
   const data = await getData();
})();


Посмотри либу https://github.com/tj/co, станет понятнее

Цитата:

чтобы транслировал как в ES6 так в ES5 ))
Да достаточно просто в ES6, а там Babel все сделает.

Цитата:

ты с ассинхронками игрался? это ж самый сахар на ровне с проксями даже по уровню сровнится)
Юзаю во всю уже давно. Это классная штука, 100 лет есть во многих других языках и наконец до JS докатится.

UIjs 11.05.2015 01:42

Цитата:

Сообщение от kobezzza
Да достаточно просто в ES6, а там Babel все сделает.

а плагином на Babel это можно организовать все)?

kobezzza, а regeneratorRuntime откуда берется? либу надо подключать получается?


kobezzza 11.05.2015 01:48

Цитата:

Сообщение от UIjs (Сообщение 370198)
а плагином на Babel это можно организовать все)?

Можно, но не все так просто. Мы же хотим изменить синтаксис: заменить фигурные скобки блоков на управляющие пробелы, и поэтому нам нужно добавить эту возможно в либу построения AST, которую юзает Babel (у них юзается Acorn)

Цитата:

kobezzza, а regeneratorRuntime откуда берется? либу надо подключать получается?
Читай внимательнее доку, Babel это не только транслятор, но и набор полифилов: Core.js и Regenerator (реализация генераторов в ES5). Чтобы он разворачивал асинки в нативные генераторы, то нужно просто задать соотвествующий флаг трансляции и все.

Разумеется рантайм либы - опциональны, и можно их не подключать. Вообще у него там овер дофига параметров, поэтому разбирайся.

Erolast 11.05.2015 05:57

Цитата:

обязательно вызывать в перекрытом конструкторе родительский? ну по стандарту
В ES6 классах по стандарту - да. Если делаешь свою имплементацию на низком уровне и не вызываешь - браузеры ругаться не будут.

Цитата:

А что, кофе скрипт больше не развивается?
https://github.com/jashkenas/coffees...mment-52807891

Safort 11.05.2015 15:03

UIjs, как же так получилось, что такой гениальный прогер как ты, круче которого только Кобеззза, узнал о Babel только сейчас?)

UIjs 11.05.2015 15:59

Цитата:

Сообщение от Safort
узнал о Babel только сейчас?)

Ну как бы я знал про es6 и знал что синтаксис кофескрипта лучше. Знал о том что туча трансляторов. Тут вот решил ради сеттеорв и геттеров переходить на новый язык и спросил какие там трансляторы. все логично.

я просто настолько умный что не держу все знания в голове на всякий случай, я держу как бы содержание книги, и загружаю в оперативку (мой мозг) только когда что-то понадобится. А актуальным и большим стараюсь поддерживать только содержание (кругозор).

все просто)


п.с. крутость крутиться в абстракциях и программитстких приемчиках всяких, не связана со знанием библиотек или фреймворков

kobezzza 11.05.2015 18:54

Цитата:

п.с. крутость крутиться в абстракциях и программитстких приемчиках всяких, не связана со знанием библиотек или фреймворков
Не могу сказать, что согласен, хотя конечно доля правды в этом есть. Дело в том, что помимо всего прочего ещё есть опыт использования той или иной библиотеки, инструмента и т.д.

Т.е. я например могу знать о существовании того или иного фреймворка, но без опыта работы с ним я буду тратить время на изучения доки, собирание граблей и т.д.. Ну вот например тебе предложат работу программиста графики, т.е. стек WebGL / GLSL + либы, а ты с этим стеком никогда не работал, как думаешь, сколько времени у тебя уйдёт на освоение всего этого в нужной мере? Дофига. Поэтому не стоит сбрасывать со счетов опыт.

Пример из жизни: я знал о существовании либы Async, юзал пару методов: series, parallel, waterfall и вроде всё ок, но потом решил потратить время на полное изучение доки и практику и понял, что я совсем не знал этой либы и что мой код, который я писал можно в значительной степени упростить и написать короче.

Gozar 11.05.2015 19:00

Цитата:

Сообщение от UIjs
Ну как бы я знал

Просто признай, что оплошал и мы разойдемся по домам ;)

Цитата:

Сообщение от kobezzza
есть опыт использования той или иной библиотеки

Поддерживаю.

UIjs 11.05.2015 20:58

Цитата:

Сообщение от kobezzza
Дело в том, что помимо всего прочего ещё есть опыт использования той или иной библиотеки, инструмента и т.д.

это не связано с крутостью программирования. выучить api или синтаксис для меня это 1-2 дня. быть поэтом и знать язык это разные вещи.

Цитата:

Сообщение от kobezzza
Поэтому не стоит сбрасывать со счетов опыт.

ты в своем примере смешал опыт работы с новым типом абстракций "шейдеры хуейдеры" и знание их синтаксиса.
первое это быть поэтом. второе это знать язык. я буду долго их осваивать потму что не поэт в этой области. а не потому что язык не знаю. если бы я был поэтом в этой области и мне сказали вот пиши шейдеры теперь на этом языке, я бы 1-2 дня максимум потратил на это. пнятна?

Цитата:

Сообщение от kobezzza
который я писал можно в значительной степени упростить и написать короче.

какой код ты пишешь это язык. быть поэтом и писать красиво подбирать слова для выражении мысли это разные вещи.

самое главное в этом всем умело придумывать абстракции и всякие там дикомопзитии инкапсуляции проворачивть где нужно. а остальное вторично. глупые люди могут понять слово вторично как не важно. но мы же с вми не глупые люди по этому мне не придется уточнять очевидности))) и это радует


Цитата:

Сообщение от Gozar
Просто признай, что оплошал

зачем признавать если это не правда. зачем признавать неправду? или это правда что я оплошал? или это правда что я не знал? тогда какие у тебя есть доказательства? на чем основано утверждение что я не знал? иными словами как ты это определяешь (кроме как пытаясь толсто троллить берешь из головы)?

К примеру я читал ваши обсуждения разных трансляторов и.т.п. и на сайт бейбел заходил и.т.п. синтаксис смотрел. Месяца 2-3 назад это было если не раньше. А до этого еще игрался с ES6 когда кофескрипта не знал, смотрел как они let реализовали через try{}catch(letName){}. А ты утверждаешь что этого не было? Доказывай.

А тут я просто удивился что они уже фитчи из ES7 реализовали о которых я давно мечтал. асинхронку на уровне синтаксиса, и удивился. срач окончен. расходимся)


Часовой пояс GMT +3, время: 05:24.