写点什么

JavaScript WeakRefs and TC39 standardization

  • 2020-02-08
  • 本文字数:1790 字

    阅读完需:约 6 分钟

JavaScript WeakRefs and TC39 standardization

GMTC 深圳 2019 大会上,Daniel Ehrenberg 讲师做了《JavaScript WeakRefs and TC39 standardization》主题演讲,主要内容如下。


演讲简介


TC39 is the committee which defines the JavaScript standard. JavaScript developers have been telling us for many years that they need weak references and finalizer callbacks: These capabilities let programs hook into garbage collection to free up related resources. After several years of debate and refinement, TC39 has settled on a design for WeakRefs and FinalizationGroups which has reached Stage 3 in its process and will likely soon be shipping in browsers and Node.js. In this talk, I will explain how to use WeakRefs, as well as how TC39 works and how to get involved, so that we can work together for the future of JavaScript.


  1. Use cases for WeakRefs and FinalizationGroups

  2. (1) In-memory cache

  3. (2) Triggering errors on stranded resources

  4. (3) Using WebAssembly memory from JavaScript

  5. (4) In-memory cache with tombstone cleanup

  6. How TC39 develops JavaScript

  7. (1) What is TC39?

  8. (2) Development of the JavaScript standard

  9. (3) TC39 stage process

  10. (4) Some recent TC39 proposals

  11. Details of WeakRefs in TC39

  12. (1) History of this proposal in TC39

  13. (2) WeakRef and FinalizationGroup APIs

  14. (3) Weak guarantees in WeakRef/FinalizationGroup behavior

  15. (4) Scheduing interactions with deref() and FinalizationGroup callbacks

  16. Participating in TC39

  17. (1) Giving feedback on proposals via GitHub

  18. (2) Helping with tests and documentation

  19. (3) Creating implementations in Babel, tools, JS engines, etc

  20. (4) Joining Ecma to be a TC39 delegate


Audience benefits:


  1. Learn to use the new JavaScript WeakRefs feature

  2. Get involved in shaping the future of JavaScript through TC39


Frontier highlights:


WeakRefs and FinalizationGroups can lead to more precise, efficient memory consumption in modern JavaScript


Knowledge reserve:


  1. Know simple JavaScript

  2. Understand what garbage collection is


参考翻译


Javascript Weakrefs 和 TC39 标准化


内容大纲


TC39 委员会负责制定 JavaScript 标准。多年来,JavaScript 开发人员一直告诉委员会,他们需要弱引用和 Finalizer 回调:这些功能使得程序可以连接到垃圾收集中,以释放相关资源。经过几年的争论和改进,TC39 已经确定了 WeakRefs 和 FinalizationGroups 的一种设计方案,目前已经到了第 3 阶段,可能很快就会在浏览器和 Node.js 中发布。在本次演讲中,我将解释如何使用 Weakrefs,然后介绍 TC39 是如何工作的,以及如何参与其中,以便大家能够为 JavaScript 的未来共同努力。


  1. WeakRefs 和 FinalizationGroups 的用例

  2. (1)内存缓存

  3. (2)滞留资源触发错误

  4. (3)使用 JavaScript 中的 WebAssembly 内存

  5. (4)带逻辑删除的内存缓存

  6. TC39 如何开发 JavaScript

  7. (1)什么是 TC39?

  8. (2)JavaScript 标准的发展过程

  9. (3)TC39 阶段流程

  10. (4)近期 TC39 的一些建议

  11. TC39 中的 WeakRefs 细节

  12. (1)TC39 中本提案的历史

  13. (2)WeakRef 和 FinalizationGroup API

  14. (3)WeakRef/FinalizationGroup 行为中的弱保证

  15. (4)调度与 deref

  16. (5)和 FinalizationGroup 回调的交互

  17. 参与 TC39

  18. (1)通过 GitHub 反馈提案

  19. (2)帮助测试和文档

  20. (3)在 Babel、工具、JS 引擎等中创建实现

  21. (4)加入 Ecma 成为 TC39 代表


听众受益点


  1. 学习使用新的 JavaScript WeakRefs 特性

  2. 通过 TC39 参与塑造 JavaScript 的未来


前沿亮点


WeakRefs 和 finalizationgroup 可以使现代 JavaScript 中的内存使用更精确、更高效。


知识储备


  1. 了解简单的 JavaScript

  2. 了解什么是垃圾收集


讲师介绍


Daniel Ehrenberg,TC39 核心成员。


Daniel is an engineer at Igalia, an open source software cooperative. He participates in the TC39 and has dabbled in WebAssembly and web standards. He also worked on V8.


Daniel 是 TC39 的核心成员,他就职于 Igalia,这是一家自由软件咨询公司,希望通过自由软件让世界更美好。Daniel 还涉猎 WebAssembly 和 Web 标准,也参与了 V8 的开发。












完整演讲 PPT 下载链接


https://gmtc.infoq.cn/2019/shenzhen/schedule


2020-02-08 19:34804

评论

发布
暂无评论
发现更多内容

Perfectly Clear Video:专业级视频清晰化,轻松打造视觉盛宴!

Rose

最佳GTD时间效率工具 OmniFocus Pro 4永久激活版

Rose

电商独立站运营:构建成功的数字化商业据点

科普小能手

数据挖掘 电商 独立站 API 接口 API 测试

记录一次「OSS上传文件的前置处理机制」实例剖析

京东科技开发者

由 Mybatis 源码畅谈软件设计(一):序

京东科技开发者

简化的架构治理:使用 NocoBase 构建应用程序目录

NocoBase

开源 低代码 无代码 Web应用 治理架构

Mac用户必备!StarUML助你高效建模设计

Rose

NAS局域网移动端视频播放神器 nPlayer for Mac 中文激活版

Rose

FonePaw Android Data Recovery Mac 安卓手机数据恢复软件中文版

Rose

解码通用 AI Agent:七步构建你的智能系统

Baihai IDP

程序员 AI AI Agent

微信多开 WechatTweak for Mac(微信多开、消息防撤回工具)安装教程

Rose

合合信息:探索视觉内容安全新前沿

Yan-英杰

Python 人工智能 图像处理

由 Mybatis 源码畅谈软件设计(二):MappedStatement 和 SqlSource

京东科技开发者

杭州站来袭-向心力|中外AI应用和出海实战分享沙龙

Zilliz

非结构化数据 AI应用 GenAI AI商业化

区块链智能合约的开发流程

北京木奇移动技术有限公司

智能合约 区块链技术 软件外包公司

网络安全养生秘籍-轻松完成等保测评流程

行云管家

网络安全 等保 等级保护 等保测评

LUMEVIEW会议一体机:开启智能会议新征程

cts喜友科技

视频会议

电力能源管理系统(源码+文档+部署+讲解)

深圳亥时科技

WiFiSpoof:MAC地址随心换,网络安全再升级!

Rose

10个案例告诉你mysql不使用子查询的原因

威哥爱编程

MySQL sql

【代码合并神器】Sublime Merge,让版本控制更高效!

Rose

600多个mindmanager模板素材(思维导图模板合集)

Rose

试验数据管理系统(源码+文档+部署+讲解)

深圳亥时科技

芯盾时代统一身份安全管理的闭环能力建设

芯盾时代

iam 统一身份管理平台 特权账号管理

推荐一款免费的数据库SQL审核,性能诊断与优化平台

威哥爱编程

sql SQL工具

阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot

阿里云大数据AI技术

人工智能 elasticsearch chatbot rag AI搜索

Bartender 5:Mac菜单栏整理大师,提升工作效率必备!

Rose

集中回答客户关注的数据云场景的四个问题

奇点云

大数据 互联网 数据云

【干货】商品计划驱动零售盈利性的数据利器

第七在线

荣耀 | 7thonline第七在线荣获托比网与易观之星两项大奖

第七在线

JavaScript WeakRefs and TC39 standardization_GMTC_Daniel Ehrenberg_InfoQ精选文章