10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

vivo 自研鲁班分布式 ID 服务实践

vivo互联网技术

雪花算法 分布式ID UidGenerator Tinyid Leaf

全球NDR市场“客户之声”首次发布:那些最挑剔的用户都选了谁?

极客天地

SpringBoot 2 种方式快速实现分库分表,轻松拿捏!

程序员小富

分库分表 springboot ShardingSphere

一年省七位数,得物自建HFDS在 Flink Checkpoint 场景下的应用实践

得物技术

大数据 阿里云 成本优化

浅谈 ByteHouse Projection 优化实践

不在线第一只蜗牛

bytehouse

Java反射源码学习之旅 | 京东云技术团队

京东科技开发者

Java java反射 企业号 6 月 PK 榜

直播预约 | 邀您共同探讨“云XR技术如何改变元宇宙的虚拟体验”

3DCAT实时渲染

元宇宙 VR虚拟现实 云XR技术

【有奖体验】这个 AI 智能回答,就一个字“绝”!

阿里巴巴云原生

阿里云 AI 云原生

AI药物研发大赛培训来啦!清华博导讲解,高分基线等你来Fork!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

使用堡垒机的意义你知道吗?能解决哪些问题?

行云管家

网络安全 信息安全 堡垒机 数据泄露

从“云原生”到“比Flink快十倍”:RisingWave的寻找自我认知之旅

吴英骏

数据库 sql 流处理

京东到家小程序-在性能及多端能力的探索实践 | 京东云技术团队

京东科技开发者

小程序 性能优化 后端 多端开发 企业号 6 月 PK 榜

可观测性Trace全量存储——之开篇

乘云数字DataBuff

瓴羊Quick BI:财务报表分析工具的重要应用

巷子

Apifox:与 OpenAI 接口调试的最佳拍档

Apifox

开发 API openai ChatGPT chatgpt api

数据分析与可视化在企业中的日常应用

夏日星河

BI商业智能工具成宠儿,企业降本增效优质工具

夜雨微澜

Android SDK安全加固问题与分析

百度Geek说

android 安全加固 企业号 6 月 PK 榜 6 月 优质更文活动

一次搞懂线性稳压器/LDO的工作原理

元器件秋姐

物理 电路 元器件 PCB 稳压器

CFFF部署在公共云上意义重大

新云力量

阿里云 复旦大学 智算平台

直播平台源码功能分享:直播回放功能的实现

山东布谷科技

软件开发 直播 源码搭建 直播平台源码

PoseiSwap IDO、IEO 结束,即将登录 BNB Chain

西柚子

直播系统聊天技术(九):千万级实时直播弹幕的技术实践

JackJiang

网络编程 即时通讯 IM

玖章算术与百度智能云达成合作,「NineData SQL 开发」成为百度智能云主推的数据库工具

Baidu AICLOUD

行云管家- 积极探索“AI+信息安全”的创新融合

行云管家

网络安全 信息安全 智能 AI智能

一名中级程序员应该具备的技能

树上有只程序猿

编程 程序员 低代码 职业生涯 JNPF

香港云主机为你的业务注入强大的云端动力!

一只扑棱蛾子

香港云主机

AIGC+设计|AI卖画,卖的是创意还是生意?

TE智库

人工智能 AIGC 生成式AI 平面设计

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