|
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:13. |
|