Вебня
4.7K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
На этом на сегодня всё. Завтра последний день январской встречи Технического Комитета 39. Встреча продлится 6 часов, при этом в повестке дня осталось 14 докладов с суммарной планируемой продолжительностью 5 часов 55 минут. На всё точно не хватит.
Интересная статья о портировании игры Doom 3 на #WebAssembly и #WebGL
http://www.continuation-labs.com/projects/d3wasm/
Сегодня будет несколько интересных событий (указано московское время GMT+3):
- запись подкаста RadioJS в 20:00 (можно будет задавать вопросы в прямом эфире в чате)
- видеовстреча команды rust-wasm в 20:00 (если будет что-то интересное, то напишу сюда)
- заключительный день январской встречи #TC39 c 20:00 по 02:00 (обязательно напишу)
Daniel Ehrinberg убрал из повестки дня #TC39 некотороые свои презентации, чтобы освободить место для других докладчиков, но я пожалуй выложу слайды этих новых предложений в спецификацию:
- перегрузка операторов
- зарезервированный декораторо-подобный синтаксис
Был представлен доклад Private Declarations, в котором Bradley Farias предложил расширить понятие приватности и вынести ее из классов.

Пропозал, на который я очень надеялся, Iterator helpers (добавляет возможность работать с коллекциями с помощью ленивых вычислений), кажется все-таки пока не попадает на stage 1.
А вот и нет, Iterator helpers на stage 1! 🚀🎉
Предложение Private Symbols (+слайды) не достигло консенсуса. Текущее stage 3 предложение про приватные поля остается неизменным.
Еще с текущей встречи #TC39:
- обсудили модификаторы модулей для встроенных объектов
- и перегрузку методов при операциях между BigInt и Number
- а также апдейт по stage 2 пропозалу sequence properties in Unicode property escapes

Всё, январская встреча закончена. Общий обзор результатов напишу завтра.
Следующая встреча пройдет в Нью-Йоркском офисе Google с 26 по 28 марта.
⚡️Главные результаты 68й встречи #TC39, проходившей с 29 по 31 января в GoDaddy.⚡️

Самое главное и интересное — сформирован набор фич для спецификации #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
“As mentioned offline, we do still need review on this, and are under some pressure to get this upstream. It would be really good if we could get eyes taking a look at this :) The two different patches have been merged into one.”

Конртибьюторы JavaScriptCore просят сделать ревью патча с Instance Class Fields (публичными и приватными), потому что они “под некоторым давлением, чтобы влить это в апстрим”.

https://bugs.webkit.org/show_bug.cgi?id=174212#c70
Был в гостях у Веб-стандартов
Forwarded from Веб-стандарты (Вадим Макеев)
Выпуск №159: Три года в эфире, События, JS-разработчики для ТВ, Chrome, Safari, PWA, Safari и JS Core, CSS против JS, ES2019 и Сергей Рубанов в гостях. Ссылки на Медиуме https://medium.com/p/b270c2cfa0f3 или на Ютубе https://youtu.be/nBNDK32CS_8
JSC.js — движок JavaScriptCore, скомпилированный в #WebAssembly с помощью Emscripten.
https://mbbill.github.io/JSC.js/