写点什么

JavaScript 引擎 V8 5.1 遵循了更多的 ECMAScript 规范并支持 WASM

  • 2016-05-04
  • 本文字数:806 字

    阅读完需:约 3 分钟

Google 宣布了其 5.1 版本的V8 JavaScript 引擎,这个版本提升了对 ECMAScript 2017 草案规范的支持,并为 WASM 提供了初步的支持,WASM 是一个低层级的、轻便式的字节码,它致力于实现接近原生的执行速度。

与往常一样,V8的发布流程是与Chrome 结合在一起的,所以V8 5.1 会在Chrome 51 稳定版释放的时候才会发布。

这个发布版本的最终目标是将对 ECMAScript 2015 的支持提升至 97% 。为了实现这一目标,V8 5.1 包含了如下功能:

  • Symbol.species,它允许子类重写默认的构造器,这个构造器可以用在像Array.prototype.map这样的方法所使用的对象中。例如,我们可以定义一个MyArray类,它与map组合使用时,就会返回指定的类构造器:

    `class MyArray extends Array {
    // 将它的类型重写为父 Array 的构造器
    static get Symbol.species { return Array; }
    }
    var a = new MyArray(1,2,3);
    var mapped = a.map(x => x * x);

    console.log(mapped instanceof MyArray); // false
    console.log(mapped instanceof Array); // true`

  • Symbol.hasInstance,可以进行重写,用来决定某个构造器是否会将某个对象视为其实例。

  • Iterator 现在支持close方法,如果循环提前终止的话,它会被调用。

  • RegExp 子类可以定义自己的exec方法,从而修改所使用的正则表达式算法。

  • 推断函数的名称可以通过 name属性来获取。

V8 5.1 还对 WebAssembly(WASM)提供了初步的支持。如前所述,WebAssembly 是一个低层级的、轻便式的字节码,它致力于实现接近原生的执行速度,WebAssembly 依赖于通用硬件的处理能力(common hardware capabilities),这在很多的平台上都是可用的。除此之外,WASM AST 设计为启用压缩和高效的二进制格式,这意味着它会在一个沙箱环境中执行。

最后,V8 5.1 提升了很多JavaScript 特性的性能,包括执行像 for-in这样的循环、promise 与 RegExp 初始化、Math 操作等等。

查看英文原文: V8 JavaScript Engine 5.1 Brings More ECMAScript Compliance, WASM Support

2016-05-04 19:002734

评论

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

客户案例|宜泊科技怎样实现智慧停车可观测

观测云

面试突击:什么是跨域问题?如何解决?

Java快了!

java;

需求变更,敏捷项目应如何做?

敏捷开发

Scrum 敏捷 需求管理 需求 Scrum团队

Python图像处理丨基于K-Means聚类的图像区域分割

华为云开发者联盟

Python 人工智能 图像处理 企业号九月金秋榜

JavaWeb -JavaBean MVC Filter 监听器 过滤器

喜羊羊

9月月更

云数据库技术|“重磅升级”后再测TDSQL-C

数据库 polarDB 玖章算术 TDSQL-C

库调多了,都忘了最基础的概念 <锁与线程篇1>

知识浅谈

线程 9月月更

数据科学家、数据工程师和数据分析师三个角色的区别是什么

雨果

数据分析师 数据科学 数据工程师

阿里开源的升级思考:开源委员会的三个关键行动点

阿里技术

开源

javaweb-JSP

喜羊羊

9月月更

4天带你上手HarmonyOS ArkUI开发

HarmonyOS开发者

HarmonyOS

降本:云原生可观测性新定义

观测云

Authing 郑凌:我眼中的 Authing

Authing

构建运维监控体系设计思路概述

穿过生命散发芬芳

监控体系 9月月更

月满中秋夜|中秋和 Jina AI 一起过

Jina AI

开源 人工智能’ 神经搜索

中秋节,华为云AI送上超级大月亮制作教程,体验赢开发者键鼠套装

华为云开发者联盟

人工智能 华为云 中秋节 企业号九月金秋榜

关于 eBPF 安全可观测性,你需要知道的那些事儿

OpenAnolis小助手

Linux 开源 内核 ebpf 龙蜥技术

下一代 SCA:流水线成分分析

SEAL安全

DevSecOps SCA 软件成分分析 软件组成分析 软件供应链安全

JavaScript 基础知识

喜羊羊

9月月更

如何让开发者直接在应用后台控制用户的运动状态?

HarmonyOS SDK

为什么越来越多博士逃离科研?

博文视点Broadview

明源云与华为联合发起828 B2B企业节,共同成就好生意!

IT资讯搬运工

华为

【活动预告】数据集成海外专场Meetup:走进Shopee,聊透SeaTunnel优化实践

Apache SeaTunnel

技术分享 数据同步 数据集成 社区活动

这份数据安全自查checklist请拿好,帮你补齐安全短板的妙招全在里面!

京东科技开发者

数据库 安全 数据安全 云安全 京东云

调用 sap.ui.base.ManagedObject 的构造函数时,如何传递绑定路径进去

汪子熙

JavaScript SAP SAP UI5 ui5 9月月更

TDengine支持多种写入协议,四种写入方式提效大全

TDengine

tdengine 开源 时序数据库 企业号九月金秋榜

Hi3861 通过UART串口协议与其它开发板进行通信

OpenHarmony开发者

OpenHarmony

Java 多线程:基础

Java快了!

java;

Sprint Review能不能做成Demo演示?

LigaAI

Scrum 敏捷开发 迭代增量开发 高效办公 企业号九月金秋榜

如何选择大数据培训课程

小谷哥

JavaScript引擎V8 5.1遵循了更多的ECMAScript规范并支持WASM_JavaScript_Sergio De Simone_InfoQ精选文章