JavaScript 引擎 V8 发布了 8.4 版本(测试阶段),正式版本将在之后随 Chrome 84 一起推出。8.4 版本带来了一些面向开发人员的特性,主要亮点包括: WebAssembly缩短启动时间 WebAssembly 的基准编译器(Liftoff)现在支持原子指令和大容量内存操作。这意味着用户可以获得更快的启动时间。 更好的调试 为了不断改善 WebAssembly 的调试体验,开发团队表示现在能够检查任何暂停执行或到达断点的实时 WebAssembly 框架。这是通过重新使用 Liftoff 进行调试来实现的。过去,所有具有断点或逐步执行的代码都需要在 WebAssembly 解释器中执行,这大大降低了执行速度。使用 Liftoff 会损失大约三分之一的性能,但是可以单步执行所有代码,并随时进行检查。 SIMD Origin Trial SIMD 提案使 WebAssembly 能够利用常用的硬件矢量指令来加速计算密集型工作负载。V8 支持 WebAssembly SIMD 提案。要在 Chrome 中启用此功能,请使用标记 chrome://flags/#enable-webassembly-simd 或注册 origin trial 试用。Origin 试用版允许开发人员在功能标准化之前进行试验,并提供反馈。 JavaScript弱引用和终结器
JavaScript 是一种垃圾回收语言,这意味着当垃圾回收器运行时,程序无法再访问的对象所占用的内存可能会自动回收。除了 WeakMap 和 WeakSet 中的引用之外,JavaScript 中的所有引用都是强大的,可以防止对引用的对象进行垃圾回收。例如,
JavaScript 程序员现在可以通过 WeakRef 功能保留对象。如果弱引用所引用的对象也未得到强引用,则它们不会阻止对其进行垃圾回收。
WeakRefs 的附带功能是 FinalizationRegistry,该功能使程序员可以在对象被垃圾回收后注册要调用的回调。例如,下面的程序可能在 IIFE 中回收了无法访问的对象后将日志记录到控制台 42。
结器计划在事件循环上运行,并且永不中断同步 JavaScript 的执行。 这些是高级且强大的功能,如果幸运的话,你的程序将不需要它们。 私有方法和访问器 v7.4 中提供的私有字段在对私有方法和访问器的支持中得到了完善。从句法上讲,私有方法和访问器的名称以
私有方法和访问器具有与私有字段相同的作用域规则和语义。可参阅 说明 以了解更多信息。 V8 API请使用 更新说明:https://v8.dev/blog/v8-release-84 |