写点什么

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

评论

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

在线字节转换工具

入门小站

工具

3月券商App行情刷新及交易体验评测报告,国泰君安再夺领导者冠军

博睿数据

14年软件开发经历IT:低代码已成为企业管理的核心引擎

一只大光圈

钉钉 低代码 IT 数字化 钉钉宜搭

自研消息队列之消息队列数据库表设计

晨亮

「架构实战营」

飞桨EasyDL助力资讯网站实现信息自动分类

百度大脑

QIP 25周年

亚马逊云科技 (Amazon Web Services)

量子计算 量子技术 量子纠错

程序员=沉闷无趣?都是刻板印象…

LigaAI

程序员人生 程序猿

审核和审批的区别

秋去冬来春未远

【深度分享】阿里云架构师解读四大主流游戏架构

阿里云弹性计算

游戏

一文带你使用 Apache IoTDB 系统监控模块

Apache IoTDB

在线CSV转SQL工具

入门小站

工具

实例解析山路十八弯的Flutter 2.0路由

岛上码农

flutter ios 安卓开发 4月月更 跨平台开发

coreldraw2022订阅版本最新版本简介

茶色酒

cdr2022

百度文心大模型「技术天团」首次亮相!首场技术开放日、AI创意派决赛来啦~

百度大脑

linux之iconv命令

入门小站

Linux

智慧零售产业应用实战,30分钟上手的高精度商品识别

百度大脑

易观分析:三大协会发声NFT,未来监管走向几何?

易观分析

区块链 NFT

JS/TS项目里的Module都是什么?

华为云开发者联盟

js Module loaders bundlers

Docker 实战教程之从入门到提高 (五)

汪子熙

Docker 容器 虚拟化 容器镜像 4月月更

社区动态|Apache Doris 迎来第 300 位 Contributor !

ApacheDoris

大数据 开源 OLAP MPP apache doris

Tiger DAO VC:将你的风险投资变成DAO组织协同

BlockChain先知

2022年全新FFmpeg/WebRTC/RTMP/RTSP/HLS/RTP播放器-音视频流媒体高级开发学习大纲

赖猫

音视频开发 音视频技术

同事删库跑路后,我连表名都不能修改了?

码农参上

数据库 数据恢复 权限 删库 4月月更

虎符研究院|币圈后浪MetaAds——现实与元宇宙的展示平台

区块链前沿News

虎符交易所

这款神器大大提升了协作效率!

Liam

后端 Jmeter Postman swagger Mock

让我们开始使用 Amazon Lambda

亚马逊云科技 (Amazon Web Services)

Serverless 云原生 亚马逊云科技 云技能

揭露sealer背后实现整个集群一键交付的奥秘 | 龙蜥技术

OpenAnolis小助手

开源 sealer 龙蜥技术 镜像集群

博睿数据入选首批欧拉技术测评方案,为欧拉生态开发者应用体验保驾护航

博睿数据

16 张图 | Nacos 架构原理①:一条注册请求会经历什么?

悟空聊架构

nacos 注册中心 4月日更 悟空聊架构 4月月更

内网渗透(蚁剑+MSF)

喀拉峻

网络安全 WEB安全 内网渗透

读《Software Engineering at Google》(06)

术子米德

架构师成长笔记

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