阅读 1645

技术周刊:Node.js 16发布;中国首个 JavaScript 语言提案在 ECMA 进入 Stage 3

2020-04-21.png

前端快爆

  • Firefox 88 正式发布,主要包含以下特性:
    • 正式禁用 FTP 协议,计划在 Firefox 90 版本中完全删除 FTP 支持。此前,Safari 14Chrome 87 已禁用 FTP 协议。
    • 新增伪类 :user-valid:user-invalid,用于匹配一个包含有效或无效数据的表单输入。与 :valid:invalid 的区别是 :user-valid:user-invalid 只有在用户不再关注元素时才开始匹配(例如,通过 tab 键进入下一个输入),Firefox 是第一个实现此特性的浏览器。
    • 新增支持正则表达式的匹配索引(match indices)特性,该属性包含数组 indices,存储每个匹配的捕获组的开始和结束位置,此特性已进入 Stage 4,将进入 ECMAScript 2022,并将在 Chrome 91 中得到支持。

点评:至此,三大主流浏览器均已禁用 FTP

  • Node.js 16.0.0 发布,将于今年 10 月 26 日进入 LTS,该版本主要包含以下特性:

    • V8 JavaScript 引擎已更新至 9.0,优化了性能表现。
    • 稳定的 Timers Promises API。Timers Promises API 提供了一组返回 Promise 对象的替代计时器函数,从而无需使用 util.promisify()。该 API 是在 Node.js 15 中添加的,此版本将从实验状态升级到稳定状态。
    • 新的编译器,此版本将是为 Apple M1 发布的第一个预构建的二进制版本。虽然为 Intel (darwin-x64) 和 ARM (darwin-arm64) 架构提供了单独的 tarballs,但 macOS 安装程序(.pkg)将作为一个“fat”(多架构)二进制文件发布。
  • W3C 技术架构组拒绝了 Google 将多个不同域名视为同源的提议

    • 该提案建议,如果多个域名由同一实体拥有,例如 google.com、google.co.uk 和 youtube.com,可以依据 “允许相关域名声明自己是相同的第一方” 来允许浏览器将这一组域作为一个域来对待。
    • 基于隐私和安全的考虑,W3C 拒绝了这一提案,认为这一提议没有考虑全部后果,将会削弱同源的意义,也意味着浏览器开发商将会提供和维护自己的列表,或将导致开发者更多开发面向特定浏览器的应用
    • 此前,Firefox 86 起禁用了跨域站点的存储接口读写;Safari 13.1 起禁用了所有第三方站点的 Cookie 使用。
  • 中国首个 JavaScript 语言提案在 ECMA 进入 Stage 3。

    • 该提案是阿里巴巴前端标准化小组与淘系技术部门近期在 TC39 技术委员会上提出的《Error Cause》,将开始在 JavaScript 引擎中开始实现,并在浏览器、Node.js 实验性实施。
    • 该提案为 Error Constructor 新增了一个可选的参数 options,其中可以设置 cause 并且接受任意 JavaScript 值(JavaScript 可以 throw 任意值,如 undefined 或者字符串),将这个值赋值到新创建的 error.cause 上。

image.png

百宝箱

  • JS IMAGE CARVER 是一个基于接缝裁剪(Seam Carving)算法的内容感知图像缩放器,可以任意改变图片的高度和宽度,而不会扭曲图像。它的原理是找出图片中对象的边缘,只改变对象之间的像素,尽量保持对象本身的高宽比例。

demo-01.gif

  • React Hook Form 是一个用于 React 表单的 Hook,具有高性能、灵活、可扩展的表单、验证易用等特点。

v7_example.gif


本期编辑:@墨尘,审阅:@承虎

文章分类
前端