AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

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:34724

评论

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

《2023中国低代码商业落地研究报告》

EquatorCoco

低代码 行业报告

云桌面解决方案在教育领域中的应用

青椒云云电脑

云桌面 云桌面解决方案

代码之外:工程师的成长进阶秘籍

声网

苹果Mac版Luminar Neo 激活安装包

iMac小白

智能语音助手在教育行业的应用与挑战

来自四九城儿

央国企数字化转型的“压舱石”与“新方略”

优秀

数字化转型 中央企业 国资委中央企业 央国企数字化转型

线上SQL超时场景分析-MySQL超时之间隙锁

快乐非自愿限量之名

MySQL 数据库 sql

移动图形工作站有哪些价格实惠的推荐?

青椒云云电脑

图形工作站 移动图形工作站

K8S学习指南(5)-k8s核心对象namespace

俞兆鹏

Kubernetes

K8S学习指南(6)-k8s核心概念label和label selector

俞兆鹏

KubeBlocks 参展首届 PolarDB 开发者大会,双方发布深度合作

小猿姐

数据库 云计算 polarDB 阿里云PolarDB

POKT Network (POKT) :进军百亿美元市场规模的人工智能推理市场

股市老人

微服务及其发展趋势

蝉翼2u

微服务 云原生 服务网格

3 种主要类型的云电脑服务模型

青椒云云电脑

云桌面 云电脑 云电脑平台

【第七在线】利用大数据与AI,智能商品计划的未来已来

第七在线

《Java实战(第2版)》PDF

程序员李木子

HarmonyOS NEXT创新能力:助力开发者打造差异化竞争力

新消费日报

中国首个车路云一体化研究中心成立,将如何改变自动驾驶?

自象限

自动驾驶

PTGui Pro for Mac(全景图拼接制作工具)v10.0.11永久激活版

iMac小白

2023总结,瞳孔滤镜

程思扬

年度总结 2023计划 2023年 2024

智能语音助手在旅游行业的应用与挑战

来自四九城儿

贯通用友T+与企企,引领企业数字化转型新篇章!

聚道云软件连接器

案例分享

小飞贼防火墙 Little Snitch激活最新版下载

iMac小白

淘宝/天猫获得淘宝app商品详情原数据 API(taobao.item_get_app);可以用到哪些参数

技术冰糖葫芦

API

云桌面解决方案四大优势

青椒云云电脑

云桌面

私有云部署有哪些特征?企业该如何正确上云

青椒云云电脑

云桌面 云电脑 云电脑平台

K8S学习指南(7)-k8s核心概念Annotation

俞兆鹏

《Java并发实现原理:JDK源码剖析》PDF

程序员李木子

理性消费:了解租用国外服务器的实际成本

一只扑棱蛾子

独立服务器 国外服务器

高效稳定!使用ETLCloud轻松同步千万数据

RestCloud

ETL 数据集成

智能语音助手在医疗行业的应用与挑战

来自四九城儿

JavaScript WeakRefs and TC39 standardization_GMTC_Daniel Ehrenberg_InfoQ精选文章