ecmascript有什么特性-ECMAScript2023的新特性

2023-08-26 0 5,050 百度已收录

前言

2023年6月27日,第125届ECMA会议即将批准ECMAScript2023语言规范,这意味着它现在将成为最新的ECMAScript标准。 下面我们就来看看ECMAScript2023的新特性吧!

01 概述

1)从头到尾搜索字段:findLast()、findLastIndex();

2)Hashbang句型;

3)通过复制修改字段:toReversed()、toSorted()、toSpliced()、with();

4)Symbol作为WeakMap的key。

02 详细介绍

2-1 查找最后一个()

字段的find方法常用于查找过去满足条件的元素

ecmascript有什么特性-ECMAScript2023的新特性

如果我们先从后面寻找元素怎么办? 然后你可以使用 array.findLast

2-2查找最后一个索引

我们可以使用findLastIndex来查找链表末尾元素的位置

2-3 Hashbang句型

Unix 命令行脚本都支持#! 命令,也称为 Hashbang。 该命令放在脚本的第一行,用于指定脚本的执行者。 Hashbang 只是想介绍#! JavaScript 脚本的命令。 该命令写在脚本文件或模块文件的第一行:

这样Unix命令行就可以直接执行脚本了:

但在这种情况下,hashbang必须严格位于文件头,否则会出现句子错误,使得这个JavaScript脚本文件难以使用

ecmascript有什么特性-ECMAScript2023的新特性

2-4 链表无损方式(通过复制修改链表)

Array.prototype.toReversed()

Array.prototype.toSorted()

Array.prototype.toSpliced()

Array.prototype.with()

我们知道ecmascript有什么特性,大多数分组方法都是非破坏性的,即不会修改filter等原始链表

事实上,还有一些破坏性的方法会在执行过程中改变原来的链表,比如sort()方法:

在链表方法中,以下方法是破坏性的:

撤销()

ecmascript有什么特性-ECMAScript2023的新特性

种类()

拼接()

如果你想让这个链表方法应用到链表上而不改变它,你可以使用以下方法之一:

正如您所看到的,我们首先需要创建链表的副本,然后对该副本进行更改。 因此引入了这三种方法的无损版本,这样就不需要自动创建副本然后进行操作:

verse() 的非破坏性版本:toReversed()

sort() 的非破坏性版本:toSorted(compareFn)

splice() 的非破坏性版本:toSpliced(start,deleteCount,...items)

这个函数属性被引入到 Array.prototype 中:

Array.prototype.toReversed()

Array.prototype.toSorted(compareFn)

ecmascript有什么特性-ECMAScript2023的新特性

Array.prototype.toSpliced(开始,deleteCount,...items)

Array.prototype.with(索引,值)

另外,还有一个新的无损方法:with()。该方法会以无损的方式替换给定索引处的链表元素,即arr[index]=value的无损版本

Array.prototype.toReversed()

toReversed() 是reverse() 方法的非破坏性版本:

Array.prototype.toSorted()

toSorted() 是 sort() 方法的非破坏性版本:

Array.prototype.toSpliced()

splice()方法比其他方法更复杂,其用法是:splice(start,deleteCount,...items)。 该方法将从起始索引处删除deleteCount个元素,然后将元素插入到起始索引处的item中ecmascript有什么特性,最后返回删除的元素。

toSpliced 是 splice() 方法的非破坏性版本。 它会返回更新后的字段,原来的字段不会改变,很难获取到已经被删除的元素:

Array.prototype.with()

使用 .with() 技巧:.with(index,value),它是 arr[index]=value 的非破坏性版本:

WeakMap 支持使用 Symbol 作为 key

很久以前,我们只能使用一个对象作为 WeakMap 的 key。

现在我们使用“Symbol”作为“WeakMap”的键。

03浏览器支持

目前主流浏览器都支持以上方式

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 ecmascript ecmascript有什么特性-ECMAScript2023的新特性 https://www.wkzy.net/game/157231.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务