Сообщение от Safort
|
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
....
Много чего нужно