首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Node.js 替代品 Deno 加入 TC39

2021 年 12 月 13 日, Deno 公司网站上的一篇博客文章中,工程师 Luca Casonato 宣布目前 Deno 已经加入 ECMA International。

此后,Deno 将在 TC39 工作组中与其他 ECMA 成员和更广泛的 JS 社区合作,讨论 JavaScript 的下一次迭代,推动语言的功能和改进,使所有人受益,尤其是服务器端 JavaScript 的开发者用户。

Deno 加入 TC39 的规划

Ecma International 是个行业标准组织,,它所通过的标准都是 ECMA-nnn 这样进行编号。

TC 39 是 ECMA 国际组织第 39 号技术委员会( Technical Committee ),它是一个推动 JavaScript 发展的委员会,是 ECMA 的一部分。

目前 Deno 关于 JavaScript 开发的一些目标功能:

  • 更好地支持 ES 模块图中的非 JS 资产
  • 更好地支持显式资源管理
  • 用于(异步)迭代的更广泛的标准库函数

由于 TypeScript 是 Deno 生态系统的核心部分,Deno 正在计划推动 TypeScript 和 JavaScript 更紧密地结合。Luca Casonato 将成为 Deno 在 TC39 的主要代表,与 TC39 的其他成员一起将 JavaScript 推向新的高度。

关于 Deno

Deno 是一个基于 V8 构建的安全的 Typescript 运行时,V8 是 Google 的 JavaScript 运行时引擎。Deno 由 Ryan Dahl 在 2017 年创立,需要了解的是 Ryan Dahl 也是 Node.js 的创始人。因此,Deno 的诞生之初其实是为了解决 2009 年首次设计 Node.js 时的一些疏忽。

Deno 由以下技术构建:

  • Rust(Deno 的核心是用 Rust 编写的,Node 用 C ++编写)
  • Tokio(用 Rust 编写的事件循环)
  • TypeScript(Deno 支持 JavaScript 和开箱即用的 TypeScript)
  • V8(google 在 Chrome 和 Node 等中使用的 JavaScript 运行时)

目前最新版本为 Deno 1.16,其中包含以下功能和更改:

  • fetch  现在支持获取文件 URL;
  • V8 更新至 9.7 版;
  • 支持 React 17 中的新 JSX 转换;
  • 新的 Deno.addSignalListener API,用于侦听操作系统信号;
  • Error.cause 现在显示在控制台中,这对于调试发生在应用程序内部深处的错误非常有用;
  • 现在可以明确地完成握手 TLS 连接,此版本向 Deno.TlsConn 中增加了 handshake()方法;
  • Web Streams API 的改进
  • Deno 1.16 稳定了 Deno.startTls API,这使得为稳定的 Deno 编写 SMTP 驱动程序成为可能;
  • Per-test 权限现在是稳定的,这使得测试程序在不同权限集下的行为变得非常容易;
  • localStorage 不再需要附带 -location;
  • 支持在中止 AbortSignal 时指定原因;
  • Deno to npm 包构建工具:发布了一个名为 dnt 的新系统,用于把 Deno 编写的模块发布为 npm 包;
  • WebAssembly Reference 类型现在稳定可用;
  • findLast 和 findLastIndex 数组方法。

参考链接:https://deno.com/blog/deno-joins-tc39

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/ML8eaHJXdEPRN2wXdvyN
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券