Пару коммитов быстро решат проблему, останется только пересобрать все asset. А вообще, просто внезапно ES6 не вкатится, в любом случае его нужно будет включать руками или наоборот отключать специально.
CoffeeScript, с вероятностью 99%, никогда не будет поддерживать блочную область видимости (let) и разряженные шаблоны деструктуризации (let [a,, b] = [1, 2, 3]; a==1, b == 3), т.к. символ запятой "," означает в CS совсем другое нежели в JS.
А если копнуть глубже, то выясняется, что конструкции for-of из ES6 и for-of из CS сильно отличаются. for-of из ES6 итерируется по объекту используя его встроенное свойство «iterator», тогда как for-of из CS это скорее сахар для for-in. Сильно сомневаюсь, что без ввода дополнительных конструкций языка в CS появится аналог for-of из ES6.
Да и аналога генераторов, по крайней мере в доке на coffeescript.org, я найти не могу.
В таком случае, после внедрения ES6, CS останется в роли догоняющего, и не факт, что майнтейнеры захотят сильно менять язык и быстро вводить новые фичи. В своё время, люди не довольные скоростью развития CS создали LiveScript, а это о многом говорит.
CoffeeScript хороший язык, но я лично предпочту TypeScript или EcmaScript6
Выше уже ответили, но хочу добавить, что транслятор пока не готов — это можно увидеть из списка поддерживаемых фич. Более подробно о том, что поддерживается на данный момент лучше смотреть по тестам.
> Если завели реквест — оставьте ссылку, плюсанём хором.
Тикет заведу в ближайшее время.
По опыту могу сказать, что Deferred/Promise (особенно из jQuery) очень сложно отлаживать. Везде, где можно обойтись без Promise лучше написать код на чистом es.
Вот как я бы написал первые ваши примеры (там где можно обойтись без Promise):
window.log = () => console.log(...arguments);
for (var _i = 0; _i < 10; ++_i) {
let index = _i;
setTimeout(() => log(index), 1000);
}
Статья хорошая, но не хватает примеров с when, then, reject, fail и т.д. — ну чего-то более сложного про Deferred/Promise
let {reverse: aReverse, priority: aPriority} = (a.options || {});
ставлю запятую после «aReverse,», чтобы объявить ещё одну переменную — PhpStorm 6.0.3 зависает. Обычно, он через, примерно 30 сек — 10 мин, отвисает с сообщением, что 512Мб израсходованы.
Если нажать Ingore, то можно продолжить до следующего зависания.
Поправьте по-быстрее, а то неудобно.
Олсо добавьте возможность выбора транслятора. Tracuer compiler мне не нравится, да и старой версии он у вас
Я специально концентрировал внимание на словосочетании «квалифицированный работник». Я предполагаю, что, несмотря на то, что цена на подобную процедуру не будет заоблачно высокой, минимум кто сможет себе её позволить — это т.н. «средний класс». Я буду только рад, если на нашей планете появится один миллиард высокообразованных (докторов, учёных, инженеров) китайцев — долгожителей. Хотя и слабо в это верится.
Да и проблема перенаселения слишком преувеличена.
На самом деле, с какой стороны посмотреть. Представьте себе, что государство растит гражданина — даёт ему дошкольное, школьное и высшее образование. Даже с учётом того, что сам гражданин должен будет платить за образование, государство потратить на него какие-то деньги и большое кол-во времени. Дальше гражданин, от силы, может проработать на квалифицированной работе лет 30. После этого, в следствии ухудшения состояния здоровья, гражданин не может выполнять свои профессиональные обязанности и становится обузой для работодателя и для государства. А при выходе на пенсию гражданина, государству ещё придётся тратить на него деньги в виде соц. обеспечения, пенсии и медицинской страховки.
Теперь у государства есть выбор — сделать технологию «омоложения» доступной среднестатистическому гражданину и при этом повышать пенсионный возраст гражданина прошедшего процедуру. В выгоде все: государство получает квалифицированного работника, который может ещё 30 лет проработать на благо общества, гражданин получает прибавку к периоду своей социальной активности.
Поэтому, я не верю, что данную технологию будут серьёзно блокировать. Как только весь процесс будет отлажен и будут собраны первые «сливки» в виде сверх-богатых клиентов, технологию выпустят в массы. Вводить какие-то искусственные ограничения тоже не выгодно — зачем, если квалифицированный рабочий принесёт государству достаточно прибыли, а при искусственных ограничениях есть риск (и не маленький), что с гражданином произойдёт «несчастный случай» — он забудет принять «лекарства для поддержания импланта в боевом состоянии» или он будет работать на территории, на которой не окажется квалифицированных работников, для «очередного пересаживания».
Намного выгоднее иметь «раба», который всем доволен и приносит прибыль, который имеет отменное здоровье и хорошо питается, и при этом не чувствует себя «рабом».
Попробуйте сами. И это только один из нюансов. Так что нужно быть ПОЛНОСТЬЮ уверенным в качестве своего кода, чтобы пропускать его через GCC в ADVANCED MODE
На данный момент в WebStorm/PhpStorm есть поддержка es6 стандарта, примерно, 2012 года.
Есть поддержка: классы, деструктуризация, let, rest, spread, дефолтные значения у функций, стрелочные функции, QuasiLiterals (строковые шаблоны)
Нету: объектной деструктуризации, разряженного массива как шаблона деструктуризации, дефолтных значений деструктуризации.
Это основное. Пользоваться вполне можно, но к сожалению, PhpStorm периодически зависает и вываливает сообщение о нехватке памяти — ничего серьёзного, после этого продолжает работать, просто время отнимает.
Ещё traceur встроенный в PhpStorm старой версии и я не нашел как обновить или указать свой.
Сомнительный выигрыш в производительности при потери читаемости и лёгкости статического анализа. Например PhpStrom не может понять какие методы «класса» есть у объекта созданного с помощью вашего метода clone.
Обретите для себя es6-классы, благо, естьмногоимплиментаций.
Вы наверное невнимательно прочитали. Большинство пунктов как раз об объективных недостатках CDV: поиск по всем js-файлам, подсветка и Pretty Print JS-кода, изменение значения переменной и т.д. Прочитайте по-внимательнее.
Я не хочу спорить, просто защищаю хороший инструмент — в работе использую и то, и то.
Чем вам Dragonfly то не угодил?
С последними версиями Chrome Dev Tools становится всё более нестабильным в одной из своих основных функций — отладки JS-кода. Да, в CDV вводятся новые фичи, но толку от них, когда отваливается подсветка JS-кода и Pretty Print. А самое дебильное решение, которое сделали в CDV — это то, что теперь нельзя изменить значение переменной в скопе при отладке приложения. Вот тут я писал недостатки CDV по сравнению с Dragonfly: habrahabr.ru/company/opera/blog/181181/#comment_6302172
Если бы Dragonfly не остановился бы в развитии вместе с классической Оперой, мог бы быть сейчас уже лучше чем CDV
Меня, как давнего пользователя Оперы, не впечатляют ни текущее состояние Оперы 15, ни планы на будущее.
Opera мой основной браузер, не смотря на то, что по-работе я пользуюсь и Chrome и IE, и FF. Но ни один другой браузер, включая Оперу 15, не предоставляет мне тот уровень комфорта как Opera 12.
Удачи вам в развитии и, пожалуйста, прислушивайтесь к мнениям пользователей.
>В настоящее время Internet Explorer и Opera не поддерживают это API.
В Opera поддерживает с версии 12.10. При этом, поддерживается по стандарту, в разработке которого участвовала и в который вы наверное даже не заглядывали, иначе бы знали, что функция cancelFullScreen сейчас называется exitFullscreen, а свойство fullScreen — fullscreenEnabled.
И могли бы дать ссылку на полифил, который действительно позволит использовать это API уже сейчас
CoffeeScript, с вероятностью 99%, никогда не будет поддерживать блочную область видимости (let) и разряженные шаблоны деструктуризации (let [a,, b] = [1, 2, 3]; a==1, b == 3), т.к. символ запятой "," означает в CS совсем другое нежели в JS.
А если копнуть глубже, то выясняется, что конструкции for-of из ES6 и for-of из CS сильно отличаются. for-of из ES6 итерируется по объекту используя его встроенное свойство «iterator», тогда как for-of из CS это скорее сахар для for-in. Сильно сомневаюсь, что без ввода дополнительных конструкций языка в CS появится аналог for-of из ES6.
Да и аналога генераторов, по крайней мере в доке на coffeescript.org, я найти не могу.
В таком случае, после внедрения ES6, CS останется в роли догоняющего, и не факт, что майнтейнеры захотят сильно менять язык и быстро вводить новые фичи. В своё время, люди не довольные скоростью развития CS создали LiveScript, а это о многом говорит.
CoffeeScript хороший язык, но я лично предпочту TypeScript или EcmaScript6
> Если завели реквест — оставьте ссылку, плюсанём хором.
Тикет заведу в ближайшее время.
Вот как я бы написал первые ваши примеры (там где можно обойтись без Promise):
Статья хорошая, но не хватает примеров с when, then, reject, fail и т.д. — ну чего-то более сложного про Deferred/Promise
Пишу
ставлю запятую после «aReverse,», чтобы объявить ещё одну переменную — PhpStorm 6.0.3 зависает. Обычно, он через, примерно 30 сек — 10 мин, отвисает с сообщением, что 512Мб израсходованы.
Если нажать Ingore, то можно продолжить до следующего зависания.
Поправьте по-быстрее, а то неудобно.
Олсо добавьте возможность выбора транслятора. Tracuer compiler мне не нравится, да и старой версии он у вас
Да и проблема перенаселения слишком преувеличена.
Вот:
Минифицируется как
Свойство «props» потерялось.
Теперь у государства есть выбор — сделать технологию «омоложения» доступной среднестатистическому гражданину и при этом повышать пенсионный возраст гражданина прошедшего процедуру. В выгоде все: государство получает квалифицированного работника, который может ещё 30 лет проработать на благо общества, гражданин получает прибавку к периоду своей социальной активности.
Поэтому, я не верю, что данную технологию будут серьёзно блокировать. Как только весь процесс будет отлажен и будут собраны первые «сливки» в виде сверх-богатых клиентов, технологию выпустят в массы. Вводить какие-то искусственные ограничения тоже не выгодно — зачем, если квалифицированный рабочий принесёт государству достаточно прибыли, а при искусственных ограничениях есть риск (и не маленький), что с гражданином произойдёт «несчастный случай» — он забудет принять «лекарства для поддержания импланта в боевом состоянии» или он будет работать на территории, на которой не окажется квалифицированных работников, для «очередного пересаживания».
Намного выгоднее иметь «раба», который всем доволен и приносит прибыль, который имеет отменное здоровье и хорошо питается, и при этом не чувствует себя «рабом».
Не забываем, что в этом режиме, вот такой код будет минифицирован неправильно и не заработает (тут «потеряется» свойство props):
Попробуйте сами. И это только один из нюансов. Так что нужно быть ПОЛНОСТЬЮ уверенным в качестве своего кода, чтобы пропускать его через GCC в ADVANCED MODE
Есть поддержка: классы, деструктуризация, let, rest, spread, дефолтные значения у функций, стрелочные функции, QuasiLiterals (строковые шаблоны)
Нету: объектной деструктуризации, разряженного массива как шаблона деструктуризации, дефолтных значений деструктуризации.
Это основное. Пользоваться вполне можно, но к сожалению, PhpStorm периодически зависает и вываливает сообщение о нехватке памяти — ничего серьёзного, после этого продолжает работать, просто время отнимает.
Ещё traceur встроенный в PhpStorm старой версии и я не нашел как обновить или указать свой.
Обретите для себя es6-классы, благо, есть много имплиментаций.
Я не хочу спорить, просто защищаю хороший инструмент — в работе использую и то, и то.
С последними версиями Chrome Dev Tools становится всё более нестабильным в одной из своих основных функций — отладки JS-кода. Да, в CDV вводятся новые фичи, но толку от них, когда отваливается подсветка JS-кода и Pretty Print. А самое дебильное решение, которое сделали в CDV — это то, что теперь нельзя изменить значение переменной в скопе при отладке приложения. Вот тут я писал недостатки CDV по сравнению с Dragonfly: habrahabr.ru/company/opera/blog/181181/#comment_6302172
Если бы Dragonfly не остановился бы в развитии вместе с классической Оперой, мог бы быть сейчас уже лучше чем CDV
obj.constructor.prototype != Object.getPrototypeOf(obj)
1. Fast forward для автозаполнения будет работать или у вас будет также, как в Хроме?
2. Кнопка «Ключик» будет?
Opera мой основной браузер, не смотря на то, что по-работе я пользуюсь и Chrome и IE, и FF. Но ни один другой браузер, включая Оперу 15, не предоставляет мне тот уровень комфорта как Opera 12.
Удачи вам в развитии и, пожалуйста, прислушивайтесь к мнениям пользователей.
В Opera поддерживает с версии 12.10. При этом, поддерживается по стандарту, в разработке которого участвовала и в который вы наверное даже не заглядывали, иначе бы знали, что функция cancelFullScreen сейчас называется exitFullscreen, а свойство fullScreen — fullscreenEnabled.
И могли бы дать ссылку на полифил, который действительно позволит использовать это API уже сейчас
Ну я, допустим, влезу в это устройство, но вот не сломается ли Omni под моими 100кг, особенно при беге?