网易首页 > 网易号 > 正文 申请入驻

ECMAScript 2024新特性

0
分享至

2024 年 6 月 26 日,第 127 届 ECMA 大会正式批准了 ECMAScript 2024 语言规范,这意味着它现在正式成为最新 ECMAScript 标准。

下面就来看看 ECMAScript 2024 都有哪些新特性吧!

1. Group By 分组

Map.groupBy()可迭代对象分组为一个新的MapMap中的key由回调提供:

Map.groupBy([0, -5, 3, -4, 8, 9], x => Math.sign(x))

还有Object.groupBy()生成一个对象而不是Map

Object.groupBy([0, -5, 3, -4, 8, 9], x => Math.sign(x)) 
Math.sign() 方法用于判断一个数的符号,即正负性

兼容性

2. Promise.withResolvers

Promise.withResolvers()提供了一种创建我们想要解决的 Promise 的新方法:

const { promise, resolve, reject } = Promise.withResolvers();

兼容性

如果使用v标志,RegExp.prototype.unicodeSets的值为true;否则,false

v标志是u标志的“升级”,可启用更多与 Unicode 相关的功能。 (“v”是字母表中“u”之后的下一个字母。)由于uv以不兼容的方式解释相同的正则表达式,因此使用这两个标志会产生SyntaxError

使用v标志,不光可以继承u标志所有的功能,还支持以下功能:

  1. 字符串集合三种集合操作,差异、相交和联合

   /^[\w--[a-g]]$/v.test('a')  // false   /^[\w--[a-g]]$/v.test('i')  // true   /[\p{ASCII}&&\p{Letter}]/v;  // ASCII letters /[[\p{ASCII}&&\p{Letter}]\p{Number}]/v;  // ASCII letters, or any digit
  1. 字符串的属性,允许使用\p 转义的多节点属性

"Did you see the ‍❤️‍‍ emoji?".match(/\p{RGI_Emoji}/v).  // ["‍❤️‍‍"]
  1. 集合中的多节点字符串,使用一个新的\q转义

/[\r\n\q{\r\n|NEWLINE}]/v;  // Matches \r, \n, \r\n or NEWLINE

v模式代码示例参考[1]

4. ArrayBuffers 和 SharedArrayBuffers 的新功能4.1 ArrayBuffers 就地调整大小

> const buf = new ArrayBuffer(2, { maxByteLength: 32 }); > buf.byteLength > 2 > buf.resize(12) > buf.byteLength > 12
不允许超过预先定义的 maxByteLength , resize 可增大也可以减小
4.2 ArrayBuffers.transfer()可转移

原先也是可以进行转移的,之前是通过参数进行配置的,现在对外提供了一个transfer函数调用,更加方便了

const original = new ArrayBuffer(16); const transferred = original.transfer();
detached 属性是一个访问器属性,其 set 访问器函数是 undefined,这意味着你只能读取此属性。该属性的值在创建 ArrayBuffer 时设置为 false。如果 ArrayBuffer 已被传输[2],则该值将变为 true,这将使该实例从其底层内存中分离。一旦缓冲区被分离,它就不再可用。
4.3 SharedArrayBuffers

SharedArrayBuffers可以调整大小,但它们只能增长而不能缩小。它们不可转移,因此无法获取ArrayBuffers所获取的方法.transfer()

5 新增了两个确保字符串格式正确的函数5.1 String.prototype.isWellFormed

isWellFormed()让你能够测试一个字符串是否是格式正确的(即不包含单独代理项)。

“单独代理项(lone surrogate)”是指满足以下描述之一的 16 位码元: 它在范围 0xD800 到 0xDBFF 内(含)(即为前导代理),但它是字符串中的最后一个码元,或者下一个码元不是后尾代理。 它在范围 0xDC00 到 0xDFFF 内(含)(即为后尾代理),但它是字符串中的第一个码元,或者前一个码元不是前导代理。

const strings = [    // 单独的前导代理   "ab\uD800",   "ab\uD800c",    // 单独的后尾代理   "\uDFFFab",   "c\uDFFFab",    // 格式正确   "abc",   "ab\uD83D\uDE04c", ]; for (const str of strings) {   console.log(str.isWellFormed()); } // 输出: // false // false // false // false // true // true
5.2 String.prototype.toWellFormed

`String`[3]toWellFormed()方法返回一个字符串,其中该字符串的所有单独代理项[4]都被替换为 Unicode 替换字符 U+FFFD。

const strings = [    // 单独的前导代理   "ab\uD800",   "ab\uD800c",    // 单独的后尾代理   "\uDFFFab",   "c\uDFFFab",    // 格式正确   "abc",   "ab\uD83D\uDE04c", ]; for (const str of strings) {   console.log(str.toWellFormed()); } // Logs: // "ab�" // "ab�c" // "�ab" // "c�ab" // "abc" // "abc"
6. Atomics.waitAsync()

Atomics.waitAsync()静态方法异步等待共享内存的特定位置并返回一个`Promise`[5]

与 [Atomics.wait()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wait "Atomics.wait( "Atomics.wait()")") 不同,waitAsync是非阻塞的且可用于主线程。

以上就是 ECMAScript 2024 (ES15) 标准发布的主要内容。

Reference

-《》- 前端蛋卷

- https://github.com/tc39/ecma262/releases

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
临时决定詹姆斯表示因腿部不适 他不会出战今天的全明星正赛

临时决定詹姆斯表示因腿部不适 他不会出战今天的全明星正赛

直播吧
2025-02-17 08:01:13
郑州全市领导干部集体学习DeepSeek,清华教授作专题辅导

郑州全市领导干部集体学习DeepSeek,清华教授作专题辅导

政知新媒体
2025-02-16 18:53:13
山西一招待所大屏公然播盗版《哪吒2》,商家:本想宣传电影,已停止播放

山西一招待所大屏公然播盗版《哪吒2》,商家:本想宣传电影,已停止播放

齐鲁壹点
2025-02-16 19:11:10
郑州暴雨勇救3人的“菜刀哥” 突发重病昏迷进ICU!亲属:病情非常复杂,还在不断恶化,2天花了十几万

郑州暴雨勇救3人的“菜刀哥” 突发重病昏迷进ICU!亲属:病情非常复杂,还在不断恶化,2天花了十几万

鲁中晨报
2025-02-17 09:07:26
男子和丑新娘结婚,一脸生无可恋都快哭了,亲戚力劝:比打光棍好

男子和丑新娘结婚,一脸生无可恋都快哭了,亲戚力劝:比打光棍好

辣媒专栏记录
2025-02-16 15:05:03
最新确认!他已抵达北京!“正在抢救”

最新确认!他已抵达北京!“正在抢救”

玲子日记
2025-02-16 20:11:34
热搜爆了!25岁女星突然死亡,警方介入!网友叹息:一手好牌打稀烂…

热搜爆了!25岁女星突然死亡,警方介入!网友叹息:一手好牌打稀烂…

鲁中晨报
2025-02-17 07:07:20
女生“全损课本”流出,自以为是清北料子,老师:上大专都费劲

女生“全损课本”流出,自以为是清北料子,老师:上大专都费劲

熙熙说教
2025-02-16 15:47:46
留学遇害女生的遗物:3盒避孕药以及443万账单,一盒录像带!

留学遇害女生的遗物:3盒避孕药以及443万账单,一盒录像带!

小虎新车推荐员
2025-02-16 20:26:47
小S和许雅均疑似跑路!私人飞机降落内比都,代言被撤,公司异常

小S和许雅均疑似跑路!私人飞机降落内比都,代言被撤,公司异常

美食阿鳕
2025-02-17 01:37:26
詹姆斯不打!美记:应提前让联盟知道 有的是人递补 更别提球迷了

詹姆斯不打!美记:应提前让联盟知道 有的是人递补 更别提球迷了

直播吧
2025-02-17 08:15:19
网传一小仙女想开奶茶店,不做调研,不做规划,全靠网友的吹捧

网传一小仙女想开奶茶店,不做调研,不做规划,全靠网友的吹捧

笔尖下的人生
2025-02-16 16:20:47
《哪吒2》海外开始失控!好莱坞紧急会议:中国人不讲武德!”

《哪吒2》海外开始失控!好莱坞紧急会议:中国人不讲武德!”

宇哥看世界ii
2025-02-15 22:30:13
后续来了!北美打压《哪吒2》,中国硬核反击:票价300块,零点场

后续来了!北美打压《哪吒2》,中国硬核反击:票价300块,零点场

小彭谈历史
2025-02-17 00:19:32
“写出这种小说的人,初中没毕业吧?”网文离谱桥段遭到吐槽

“写出这种小说的人,初中没毕业吧?”网文离谱桥段遭到吐槽

熙熙说教
2025-01-03 14:44:09
不玩了!民营医院纷纷解除医保,它们在害怕什么?

不玩了!民营医院纷纷解除医保,它们在害怕什么?

财话连篇
2025-02-16 12:17:05
网友晒2017年名校毕业的第一份工作:某公司业务顾问,年薪134万+9.58万签约奖金

网友晒2017年名校毕业的第一份工作:某公司业务顾问,年薪134万+9.58万签约奖金

可达鸭面面观
2025-02-16 22:10:39
全球最大资产管理公司,决定断供上海写字楼

全球最大资产管理公司,决定断供上海写字楼

生活新鲜市
2025-02-16 21:07:48
美人迟暮!56岁香港女神吴倩莲近照曝光,满头银发长相大变样

美人迟暮!56岁香港女神吴倩莲近照曝光,满头银发长相大变样

陈述影视
2025-02-17 00:40:41
《哪吒2》北美首日票房2249万,未能进前三,《美队4》夺冠

《哪吒2》北美首日票房2249万,未能进前三,《美队4》夺冠

影视高原说
2025-02-16 12:16:21
2025-02-17 10:12:49
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
6824文章数 34371关注度
往期回顾 全部

科技要闻

官宣!百度搜索将接入DeepSeek

头条要闻

牛弹琴:特朗普发一句话 让美国乃至世界倒吸一口凉气

头条要闻

牛弹琴:特朗普发一句话 让美国乃至世界倒吸一口凉气

体育要闻

麦克朗三夺扣篮王:历史首人12扣8次满分

娱乐要闻

琼瑶去世两个月后,林婉珍也离开了

财经要闻

"王炸组合"来了!DeepSeek朋友圈挤爆了

汽车要闻

或全系搭华为乾崑智驾 岚图梦想家新款车型将上市

态度原创

艺术
本地
亲子
教育
公开课

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

本地新闻

非遗版春节|古法滚元宵,年味儿一口爆浆

亲子要闻

爸爸哄睡简直比电脑关机还快,小脚一夹小手一趴,从1数到10

教育要闻

英国罗素集团大学罢工潮又开始了?

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版