Первая новость второго дня январской встречи #TC39 — Promise.allSettled переходит на stage 2
GitHub
GitHub - tc39/proposal-promise-allSettled: ECMAScript Proposal, specs, and reference implementation for Promise.allSettled
ECMAScript Proposal, specs, and reference implementation for Promise.allSettled - tc39/proposal-promise-allSettled
Вебня
#ecmascriptproposal Недавно появился вот такой пропозал: https://github.com/jasonwilliams/proposal-promise-allSettled Promise.allSettled — это такой аналог Promise.all, который не реджектится если один из промисов зареджектился. Я хотел бы предложить добавить…
Я так и не смог найти время на написание этого ⬆️ пропозала, зато за него взялись члены #TC39. Ну и меня добавили в коллабораторы помогать, так что наверное всё не зря.
https://github.com/tc39/proposal-promise-any
https://github.com/tc39/proposal-promise-any
GitHub
GitHub - tc39/proposal-promise-any: ECMAScript proposal: Promise.any
ECMAScript proposal: Promise.any. Contribute to tc39/proposal-promise-any development by creating an account on GitHub.
Тем временем за сегодня были представлены следующие доклады:
- внесение изменений в модель памяти для поддержки кодогенерации LDA / STL на процессорах ARMv8 (слайды)
- нормативное изменение Dynamic Modules layering, необходимое для пропозала Dynamic Modules в Node.js (и, потенциально, других окружениях)
- взаимодействие #TC39 и коммьюнити (слайды)
- обновления по приватным полям и методам (слайды)
- обновления по декораторам (слайды), которые кажется пока не попадают на stage 3
- внесение изменений в модель памяти для поддержки кодогенерации LDA / STL на процессорах ARMv8 (слайды)
- нормативное изменение Dynamic Modules layering, необходимое для пропозала Dynamic Modules в Node.js (и, потенциально, других окружениях)
- взаимодействие #TC39 и коммьюнити (слайды)
- обновления по приватным полям и методам (слайды)
- обновления по декораторам (слайды), которые кажется пока не попадают на stage 3
Google Docs
Memory Model Support for ARMv8 LDA/STL
Memory Model Support for ARMv8 LDA/STL Shu-yu Guo (Bloomberg LP) Conrad Watt (University of Cambridge)
Также был показан доклад о предложениях Extended Numeric Literals (stage 1) и Numeric Separators (stage 2). Последний был возвращен со stage 3 на stage 2 на мартовской встрече #TC39 из-за конфликта синтаксиса (оба пропозала использовали нижнее подчеркивание). В докладе было предложено заменить
Слайды доклада: https://docs.google.com/presentation/d/1S6fX1smQplysYwGCZHQ5kBPLmtahVEOdNF0GHjZee7k/edit#slide=id.p
_ на ~ для Extended Numeric Literals, чтопозволит также вернуть Numeric Separators на stage 3.Слайды доклада: https://docs.google.com/presentation/d/1S6fX1smQplysYwGCZHQ5kBPLmtahVEOdNF0GHjZee7k/edit#slide=id.p
На этом на сегодня всё. Завтра последний день январской встречи Технического Комитета 39. Встреча продлится 6 часов, при этом в повестке дня осталось 14 докладов с суммарной планируемой продолжительностью 5 часов 55 минут. На всё точно не хватит.
Интересная статья о портировании игры Doom 3 на #WebAssembly и #WebGL
http://www.continuation-labs.com/projects/d3wasm/
http://www.continuation-labs.com/projects/d3wasm/
React 16.8.0 с поддержкой хуков предположительно выйдет 4 февраля
https://github.com/facebook/react/pull/14692/files#diff-4ac32a78649ca5bdd8e0ba38b7006a1eR9
https://github.com/facebook/react/pull/14692/files#diff-4ac32a78649ca5bdd8e0ba38b7006a1eR9
GitHub
Add 16.8.0 changelog and update some READMEs by gaearon · Pull Request #14692 · facebook/react
NOTE BEFORE MERGE: set the release date.
Сегодня будет несколько интересных событий (указано московское время GMT+3):
- запись подкаста RadioJS в 20:00 (можно будет задавать вопросы в прямом эфире в чате)
- видеовстреча команды rust-wasm в 20:00 (если будет что-то интересное, то напишу сюда)
- заключительный день январской встречи #TC39 c 20:00 по 02:00 (обязательно напишу)
- запись подкаста RadioJS в 20:00 (можно будет задавать вопросы в прямом эфире в чате)
- видеовстреча команды rust-wasm в 20:00 (если будет что-то интересное, то напишу сюда)
- заключительный день январской встречи #TC39 c 20:00 по 02:00 (обязательно напишу)
Telegram
[readonly] RadioJS Podcast On Air
Чат во время прямых трансляций, вопросы гостям и ведущим подкаста, обсуждение тем, поднятых в недавних выпусках. Реклама, несвязанные с подкастом темы - бан.
Появился план на включение SharedArrayBuffer заново для JavaScript и для WebAssembly.
GitHub
Plan for SharedArrayBuffer · Issue #1435 · tc39/ecma262
In whatwg/html#3740 and whatwg/html#4175 folks from Apple, Google, and Mozilla are designing a set of headers that coupled with a particular implementation strategy would make it safer to enable hi...
Daniel Ehrinberg убрал из повестки дня #TC39 некотороые свои презентации, чтобы освободить место для других докладчиков, но я пожалуй выложу слайды этих новых предложений в спецификацию:
- перегрузка операторов
- зарезервированный декораторо-подобный синтаксис
- перегрузка операторов
- зарезервированный декораторо-подобный синтаксис
ECMA402 пропозал Intl.DisplayNames отправляется на stage 1
GitHub
GitHub - tc39/proposal-intl-displaynames: Get localized display names for languages, scripts, regions and others. https://tc39…
Get localized display names for languages, scripts, regions and others. https://tc39.github.io/proposal-intl-displaynames/ - tc39/proposal-intl-displaynames
new.initialize отправляется на stage 1
GitHub
GitHub - littledan/proposal-new-initialize: Early draft proposal to support initializing given objects with fields and private…
Early draft proposal to support initializing given objects with fields and private methods - littledan/proposal-new-initialize
Был представлен доклад Private Declarations, в котором Bradley Farias предложил расширить понятие приватности и вынести ее из классов.
Пропозал, на который я очень надеялся, Iterator helpers (добавляет возможность работать с коллекциями с помощью ленивых вычислений), кажется все-таки пока не попадает на stage 1.
Пропозал, на который я очень надеялся, Iterator helpers (добавляет возможность работать с коллекциями с помощью ленивых вычислений), кажется все-таки пока не попадает на stage 1.
⚡️ Вышел TypeScript 3.3 ⚡️
https://blogs.msdn.microsoft.com/typescript/2019/01/31/announcing-typescript-3-3/
https://blogs.msdn.microsoft.com/typescript/2019/01/31/announcing-typescript-3-3/
Предложение Private Symbols (+слайды) не достигло консенсуса. Текущее stage 3 предложение про приватные поля остается неизменным.
Упрощение конструктора Set будет принято как нормативное изменение
https://github.com/tc39/ecma262/issues/1430
https://github.com/tc39/ecma262/issues/1430
GitHub
Removing observable lookup/call of %SetPrototype%.add in `new Set` · Issue #1430 · tc39/ecma262
The Set constructor when called with an iterable behaves as follows: Create a new object with the appropriate prototypes derived from NewTarget Look up add on that object Repeatedly invoke add on t...
Еще с текущей встречи #TC39:
- обсудили модификаторы модулей для встроенных объектов
- и перегрузку методов при операциях между BigInt и Number
- а также апдейт по stage 2 пропозалу sequence properties in Unicode property escapes
Всё, январская встреча закончена. Общий обзор результатов напишу завтра.
Следующая встреча пройдет в Нью-Йоркском офисе Google с 26 по 28 марта.
- обсудили модификаторы модулей для встроенных объектов
- и перегрузку методов при операциях между BigInt и Number
- а также апдейт по stage 2 пропозалу sequence properties in Unicode property escapes
Всё, январская встреча закончена. Общий обзор результатов напишу завтра.
Следующая встреча пройдет в Нью-Йоркском офисе Google с 26 по 28 марта.
Google Docs
Module Specifiers for Builtins
Module Specifiers for Builtins Myles Borins January 2019 TC39 meeting
⚡️Главные результаты 68й встречи #TC39, проходившей с 29 по 31 января в GoDaddy.⚡️
Самое главное и интересное — сформирован набор фич для спецификации #ES2019 ✅! В нее попадут:
- Optional catch binding — позволяет пропустить связывание ошибки в кляузе
- JSON superset — добавляет в
- Symbol.prototype.description — добавляет возможность получения описания символов, которое было указано при создании символа
- Function.prototype.toString revision — обновление и унификации метода
- Object.fromEntries — позволяет собрать объект из массива пар key-value (фунцкия, обратная
- Well-formed JSON.stringify — добавляет экранирование символов UTF-16 из диапазона 0xD800–0xDFFF.
- String.prototype.{trimStart,trimEnd} — альтернативные названия для
- Array.prototype.{flat,flatMap} — новые методы для работы с массивами (интересно, что c этим предложением обещания обратной совместимости были нарушены, т.к. в вебе до сих пор есть необновленные верии библиотек, которые используют свою имплементацию
Обновления ступеней ECMAScript предложений 🚀:
- Promise.allSettled переходит на stage 2
- предложение collection normalization, отколовшееся от предложения Richer Keys (stage 1), появляется сразу на stage 2
- новый пропозал Freezing prototypes отправляется на stage 1
- ECMA402 пропозал Intl.DisplayNames отправляется на stage 1
- new.initialize отправляется на stage 1
- моё любимое среди новых предложений, Iterator helpers, отправляется на stage 1
Самое главное и интересное — сформирован набор фич для спецификации #ES2019 ✅! В нее попадут:
- Optional catch binding — позволяет пропустить связывание ошибки в кляузе
catch- JSON superset — добавляет в
JSON.parse поддержку неэкранированных символов U+2028 LINE SEPARATOR и U+2029 PARAGRAPH SEPARATOR, что делает JSON действительным подможеством ECMAScript, как это ранее обещала спецификация.- Symbol.prototype.description — добавляет возможность получения описания символов, которое было указано при создании символа
- Function.prototype.toString revision — обновление и унификации метода
.toString(), примененного к функциями- Object.fromEntries — позволяет собрать объект из массива пар key-value (фунцкия, обратная
Object.entries)- Well-formed JSON.stringify — добавляет экранирование символов UTF-16 из диапазона 0xD800–0xDFFF.
- String.prototype.{trimStart,trimEnd} — альтернативные названия для
.trimLeft и .trimRight, необходимы т.к. не существуют не-LTR языки (кроме того, для соответствия .padStart и .padEnd)- Array.prototype.{flat,flatMap} — новые методы для работы с массивами (интересно, что c этим предложением обещания обратной совместимости были нарушены, т.к. в вебе до сих пор есть необновленные верии библиотек, которые используют свою имплементацию
Array.prototype.flat, но ломающие изменения были признаны недостаточно значительными)Обновления ступеней ECMAScript предложений 🚀:
- Promise.allSettled переходит на stage 2
- предложение collection normalization, отколовшееся от предложения Richer Keys (stage 1), появляется сразу на stage 2
- новый пропозал Freezing prototypes отправляется на stage 1
- ECMA402 пропозал Intl.DisplayNames отправляется на stage 1
- new.initialize отправляется на stage 1
- моё любимое среди новых предложений, Iterator helpers, отправляется на stage 1