Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.09.2014, 14:55
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

JS.next(стандарты, фичи, движки)
Предлагаю в этом треде обсуждать/вопрошать всё, что связано с будущим JS: стандартами(ES6/7/8), фичами, движками, и прочими новостями из мира нового JS.

Сейчас на подходе ES6, многие фичи уже реализованы в последних версиях браузеров. Пока лидером по реализованным фичам является [не]всеми любимая Панда.

Кто из форумчан уже опробовал новый мясной JS со вкусом ES6?
Как вам?
Используете его в продакшене или только на своих личных проектах?
C помощью транслятора или любите рисковать?)
Если не используете, то почему? Ждёте полной поддержки в браузерах или не понравилось?

Последний раз редактировалось Safort, 27.10.2014 в 18:47.
Ответить с цитированием
  #2 (permalink)  
Старый 18.09.2014, 15:28
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Использую давно, ну это и так все знают
__________________
kobezzza
code monkey
Ответить с цитированием
  #3 (permalink)  
Старый 18.09.2014, 15:36
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Пожалуй, начну. кобеззза опередил)
Недавно начал активно юзать шестёрку в маленьком пробном проекте, и знаете, она довольно хороша. Чаще всего использую стрелочные функции, параметры по умолчанию и классы(не на полную). Раньше ещё let использовал, но Traceur не может в него. Немного `новое форматирование ${строк}` и объявление методов без function. Пока это всё, что успел.

Последний раз редактировалось Safort, 15.01.2015 в 14:48.
Ответить с цитированием
  #4 (permalink)  
Старый 18.09.2014, 15:46
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
ну и как? Насколько [не]доволен новыми возможностями?
Ответить с цитированием
  #5 (permalink)  
Старый 18.09.2014, 17:58
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от 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

....

Много чего нужно
__________________
kobezzza
code monkey
Ответить с цитированием
  #6 (permalink)  
Старый 18.09.2014, 22:13
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
Цитата:
Раздражает медлительность внедрения фич.
И не говори..

Цитата:
например строки шаблоны выглядят недоработанными, т.к. не декларативного способа вырезать переходы строк и начальные пробелы.
Хоть мне это пока не мешает, но тоже кажется некрасивым решением.

Цитата:
Вообще нужно больше литералов
Согласен) Вообще, люблю литералы, все эти new Map()/Set()/WeakMap() кажутся громоздкими в сравнении с литералами.


Цитата:
Нужна нормальная опциональная декларация типов, хватит костылись с jsDoc.
Цитата:
Нужна поддержка асинхронного программирования на уровне синтаксиса (промисы - это хорошо, но этого мало)
Если не путаю, это всё хотят добавить в семёрке, так?


Цитата:
Нужна универсальная обёртка для запросов к БД, аля Linq
Базаришь. С БД на клиенте столько мороки.



Но ведь ты можешь предложить эти фичи поцонам из рабочей группы, чтобы они впихнули их ES7. Вероятность не так уж высока, но почему бы и нет?)
Ответить с цитированием
  #7 (permalink)  
Старый 18.09.2014, 22:27
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

И ещё вот какой вопросец. В классах ES6 есть возможность использовать ключевое слово super(). Что оно делает? Как я понял из статей на английском, super позволяет вызвать конструктор родительского класса как свой. Я прав или как обычно?)
Ответить с цитированием
  #8 (permalink)  
Старый 20.09.2014, 14:54
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

http://blogs.msdn.com/b/ie/archive/2...m-roadmap.aspx
Ну вот, теперь и в IE уже работают над классами. Хотя модули под вопросом, странные люди)
Ответить с цитированием
  #9 (permalink)  
Старый 08.10.2014, 10:46
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Релиз Хрома с поддержкой Map, Set, for...of, Symbol и математическими функциями из ES6: http://www.opennet.ru/opennews/art.shtml?num=40773
Ответить с цитированием
  #10 (permalink)  
Старый 08.10.2014, 10:48
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Алилуйя. Поддержка была давно, но она включалась флагами, что не айс было.
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать HTML фичи? 2chan Events/DOM/Window 6 26.09.2014 18:50