写点什么

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

评论

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

软件测试|教你如何用Python获取昨天今天明天的日期

霍格沃兹测试开发学社

阿里三面46题:java高级+数据库+网络+架构设计!含答案大赠送!

Java你猿哥

Java 阿里巴巴 后端 面经 春招

人工智能深入油气领域 百度智能云与石化盈科共建合同智能化应用平台

百度开发者中心

人工智能

12家辽宁AI领先企业加入昇腾万里伙伴计划

科技热闻

软件测试/测试开发丨数据持久化技术(Python)的使用

测试人

软件测试 自动化测试 测试开发

Python十大实用技巧【附源码】

我爱娃哈哈😍

Python 开发技巧

嘉为科技与工银科技正式启动数字研运一体化合作项目

嘉为蓝鲸

打造江西数智产业高地,百度飞桨人工智能产业赋能中心落户南昌青山湖

百度开发者中心

人工智能 百度飞桨

WeOpsV3.15持续拓展监控能力,支持硬件设备IPMI智能监控

嘉为蓝鲸

IT

软件测试 | 黑盒测试方法—因果图法

测吧(北京)科技有限公司

测试

软件测试/测试开发丨聊聊后端Web开发框架(Python)的简单使用

测试人

软件测试 自动化测试 测试开发

一文带你掌握轻量化模型设计原则和训练技巧!

Openlab_cosmoplat

工业互联网 开源社区 轻量化模型 openlab

NFT游戏藏品开发DApp系统搭建

薇電13242772558

NFT

信通院MLOps旗舰级评测,业内首批通过!

百度开发者中心

人工智能 深度学习‘’ 文心一言

丝滑的打包部署,一套带走

Java你猿哥

Java Docker ssm 部署

Spring生态简介

Java你猿哥

Java spring Spring Boot 后端 ssm

与高校开发者面对面,昇腾AI开发者创享日首次走进沈阳高校

科技热闻

如何分析网站监控中的数据报表,都有哪些关键信息?

云智慧AIOps社区

监控 监控宝 云智慧 监控安全 网站监控

【广州银行信用卡中心】5分钟实现一键发布!

嘉为蓝鲸

IT

直播回顾 | 告警全生命周期管理的思路与落地实践

嘉为蓝鲸

IT

2021年第十一届数据技术嘉年华(DTC)资料分享

墨天轮

数据库 GaussDB TiDB 国产数据库 南大通用

在线教育≠在线观看:风变科技应用无影打造自动化实训教学模式

云布道师

无影

xx产品介绍

andy

【中远海运特运】WeOps产品为业务系统安全稳定保驾护航!

嘉为蓝鲸

如何通过C#/VB.NET从PowerPoint文档中提取图片

在下毛毛雨

C# .net PowerPoint 提取图像

触达率提升 20%,融云推送优化实践

融云 RongCloud

产品 实践 融云

唯一入选的制品库!嘉为蓝鲸CPack制品管理平台成功入选!

嘉为蓝鲸

IT

共36万字!为上岸Alibaba,我把Github上Java面试题都整理了一遍

Java你猿哥

Java Spring Boot ssm 面经 春招

先巩固下 Java 线程这些基础操作,再开始多线程编程也不迟

Java你猿哥

Java 多线程 开发

对象存储BOS: 通过安卓SDK使用HTTPDNS服务

百度开发者中心

对象存储

研云运一体,嘉为蓝鲸助力中国智造扬帆出海!

嘉为蓝鲸

IT

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