Вебня – Telegram
Вебня
4.7K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Предложение Function.prototype.toString переименовано в Function implementation hiding. Предлагается использовать директиву ”hide implementation”, которая как и директива ”use strict” может быть использована на уровне файла исходников или на уровне фунции.
https://github.com/tc39/proposal-function-implementation-hiding
Уже на следующей неделе состоится мартовская встреча #TC39 в Google. Дедлайн для предложений, которые собираются переходить на следующий stage уже прошёл, поэтому список таких предложений в документе можно считать окончательным.
Что интересно, Daniel Ehrenberg собирается пробовать продвигать динамические импорты на stage 4. Напомню, что некоторые члены комитета против этого продвижения, даже не смотря на то, что динамические импорты уже доступны во всех браузерах.
Среди предложений, которые будут обсуждаться, есть 3 новых:
- Private Declarations
- Promise.result
- Promise.any
Кстати, я являюсь соавтором Promise.any и пишу текст спецификации для него.
Делюсь с вами экслюзивом. Это предложение было показано Дениелом Эренбергом на JS Kongress Deep-Track. Его видели всего около 20 человек, и у него еще нет репозитория на гитхабе, только гист. В нём вы можете увидеть новые иммутабельные типы Record и Tuple. Предлагается реализовать их через обновленный пропозал декораторов (об этом обновлении я скорее всего еще расскажу позже подробнее).

https://gist.github.com/littledan/eb10cabc39e884c4a5fd6bbaa60afec0
Вышел Firefox 66, в котором особо ничего интересного не добавили.
https://www.mozilla.org/en-US/firefox/66.0/releasenotes/
Денис Пушкарев выпустил новую мажорную версию core-js 3.0, которая используется в Babel и, пожалуй, является самой популярной библиотекой полифиллов. В этой версии очень много изменений, посмотрите ченджлог и поддержите разработку библиотеки на Open Collective или Patreon.
Также вышел релиз Babel 7.4.0 с поддержкой TypeScript 3.4, core-js 3 и другими фичами
https://babeljs.io/blog/2019/03/19/7.4.0
Вышел LLVM 8, в котором target #WebAssembly включен по умолчанию и больше не является экспериментальным
http://lists.llvm.org/pipermail/llvm-announce/2019-March/000082.html
http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-webassembly-target
Вышел Safari Technology Preview 78. Из главного: в нём Pointer Events включены по умолчанию + добавлена их поддержка в macOS.

Остальные изменения здесь: https://webkit.org/blog/8676/release-notes-for-safari-technology-preview-78/
Новая версия движка V8 перешла в стадию бета. В ней добавилось много интересного, например, возможность отключения JIT, поддержка потоков в WebAssembly (phase 2) по умолчанию на всех платформах, поддержка приватных полей классов (stage 3), Intl.Locale (stage 3) и оптимизации по производительности и использованию памяти.

https://v8.dev/blog/v8-release-74
В Firefox включили BigInt (stage 3) подефолту в Nightly сборках (но сама Nightly сборка с этим изменением еще не готова и ожидается позже сегодня).

upd: сборка уже доступна, можно обновляться

https://bugzilla.mozilla.org/show_bug.cgi?id=1531293
Toon Verwaest написал в блог V8 статью о том, как он добавлял оптимизации парсера.
https://v8.dev/blog/scanner
Наконец-то есть новости с первого дня мартовской встречи #TC39, которая проходит сейчас в Нью-Йоркском офисе Google.
String.prototype.matchAll (stage 3) уходит на stage 4, благодаря чему попадает в ES2020.