|
JS.next(стандарты, фичи, движки)
Предлагаю в этом треде обсуждать/вопрошать всё, что связано с будущим JS: стандартами(ES6/7/8), фичами, движками, и прочими новостями из мира нового JS.
Сейчас на подходе ES6, многие фичи уже реализованы в последних версиях браузеров. Пока лидером по реализованным фичам является [не]всеми любимая Панда. Кто из форумчан уже опробовал новый мясной JS со вкусом ES6? Как вам? Используете его в продакшене или только на своих личных проектах? C помощью транслятора или любите рисковать?) Если не используете, то почему? Ждёте полной поддержки в браузерах или не понравилось? |
Использую давно, ну это и так все знают :)
|
Недавно начал активно юзать шестёрку в маленьком пробном проекте, и знаете, она довольно хороша. Чаще всего использую стрелочные функции, параметры по умолчанию и классы(не на полную). Раньше ещё let использовал, но Traceur не может в него. Немного `новое форматирование ${строк}` и объявление методов без function. Пока это всё, что успел. |
kobezzza,
ну и как? Насколько [не]доволен новыми возможностями? |
Цитата:
*** Потом сомнительна фича shorthand properties: var a = 1, b = 2; var c = {a, b}; Гораздо лучше, чтобы данный синтаксис отдали под литерал для Set: var c = {a, b} // new Set(['a', 'b']) Т.к. очень часто приходится писать такое: var c = { foo1: true, foo2: true, foo3: true }; И это правда раздражает. Вообще нужно больше литералов: {a: 1} // Object [1] // Array int32[1] // Int32Array {a, b} // Set {{a: 1, b: 2}} // Map Литералы регулярных выражений нужно дорабатывать! Обязательно нужна поддержка разбиения на строки и комментариев var pattern = /// ^\(?(\d{3})\)? # Capture area code, ignore optional parens [-\s]?(\d{3}) # Capture prefix, ignore optional dash or space -?(\d{4}) # Capture line-number, ignore optional dash /// *** Мне не нравится подход к рефлексии через объект Proxy, почему нельзя было сделать это на основе Symbol? var a = { @@noSuchMethod() { ... } @@delete() { ... } }; Тем более такой подход используется в ES6, так почему бы его не сделать для рефлексии также. *** Нужно больше встроенных коллекций, кто сказал, что в JS они не нужны? Вообще стандартная библиотека в JS на редкость убогая. Также необходима хорошая доработка для API коллекций: во первых его нужно сделать универсальным на столько, на сколько это возможно и добавить больше методов. *** Нужна нормальная опциональная декларация типов, хватит костылись с jsDoc. *** Нужны нормальные потоки на уровне языка и не нужно рассказывать, что JS однопоточный. Потоки нужны, без них современный язык выглядит кастратом. *** Нужна поддержка асинхронного программирования на уровне синтаксиса (промисы - это хорошо, но этого мало): async () { var result = await $.getJSON(url); } Ну т.е. как сейчас делают на генераторах, но более продвинуто. *** Нужна возможность нормальной трансляции JS в байткод и загрузки уже его, а не исходного текста. *** Т.к. JS можно считать веб-ориентированном языком, то нужна поддержка шаблонов на уровне синтаксиса var a = { ... }; function foo() { ... } template bar() { < h1 Hello World! } *** Нужна универсальная обёртка для запросов к БД, аля Linq .... Много чего нужно :) |
kobezzza,
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Но ведь ты можешь предложить эти фичи поцонам из рабочей группы, чтобы они впихнули их ES7. Вероятность не так уж высока, но почему бы и нет?) |
И ещё вот какой вопросец. В классах ES6 есть возможность использовать ключевое слово super(). Что оно делает? Как я понял из статей на английском, super позволяет вызвать конструктор родительского класса как свой. Я прав или как обычно?)
|
http://blogs.msdn.com/b/ie/archive/2...m-roadmap.aspx
Ну вот, теперь и в IE уже работают над классами. Хотя модули под вопросом, странные люди) |
Релиз Хрома с поддержкой Map, Set, for...of, Symbol и математическими функциями из ES6: http://www.opennet.ru/opennews/art.shtml?num=40773
|
Алилуйя. Поддержка была давно, но она включалась флагами, что не айс было.
|
Часовой пояс GMT +3, время: 22:07. |
|