关于javascript:ECMAScript-2023新增特性

37次阅读

共计 1902 个字符,预计需要花费 5 分钟才能阅读完成。

官网现已全新降级—欢送拜访!

数新网络 - 让每个人享受数据的价值

前言

2023 年 6 月 27 日,第 125 届 ECMA 大会正式批准了 ECMAScript 2023 语言标准,这意味着它当初正式成为最新 ECMAScript 规范。上面就来看看 ECMAScript 2023 都有哪些新个性吧!

01 概览

1)从头到尾搜寻数组:findLast()、findLastIndex();
2)Hashbang 语法;
3)通过正本更改数组:toReversed()、toSorted()、toSpliced()、with();
4)Symbol 作为 WeakMap 的键.

02  具体介绍

2-1 findLast()

数组的 find 办法咱们罕用来从前查找符合条件的元素

如果咱们先从后查找元素呢?那么就能够应用 array.findLast

2-2 findLastIndex
咱们能够应用 findLastIndex 来查找数组开端的元素所在位置了

2-3 Hashbang 语法
Unix 的命令行脚本都反对 #! 命令,又称为 Hashbang。这个命令放在脚本的第一行,用来指定脚本的执行器。Hashbang 就是想为 JavaScript 脚本引入了 #! 命令,这个命令写在脚本文件或者模块文件的第一行:

这样,Unix 命令行就能够间接执行脚本了:

不过这样的话,hashbang 就必须严格的在文件头,否则就会呈现语法错误,导致这个 JavaScript 脚本文件无奈应用
2-4 数组的非破坏性办法(通过正本更改数组)
· Array.prototype.toReversed()· Array.prototype.toSorted()· Array.prototype.toSpliced()· Array.prototype.with()
咱们晓得大多数组办法都是非破坏性的,也就是不会更改原数组如 filter

当然,也有一些是破坏性的办法,它们在执行时会扭转原数组,比方 sort() 办法:

在数组的办法中,上面的办法是具备破坏性的:
· reverse()· sort()· splice()
如果想要这些数组办法利用于数组而不扭转它,能够应用上面任意一种模式:

能够看到,咱们首先须要创立数组的正本,再对这个正本进行批改。因而就引入了这三个办法的非破坏性版本,因而不须要手动创立正本再进行操作:
· reverse() 的非破坏性版本:toReversed()· sort() 非破坏性版本:toSorted(compareFn)· splice() 非破坏性版本:toSpliced(start, deleteCount, …items)
这些函数属性引入到了 Array.prototype:
· Array.prototype.toReversed()· Array.prototype.toSorted(compareFn)· Array.prototype.toSpliced(start, deleteCount, …items)· Array.prototype.with(index, value)
除此之外,还有了一个新的非破坏性办法:with()。该办法会以非破坏性的形式替换给定 index 处的数组元素,即 arr[index]=value 的非破坏性版本
Array.prototype.toReversed()toReversed() 是 reverse() 办法的非破坏性版本:

Array.prototype.toSorted()toSorted() 是 sort() 办法的非破坏性版本:

Array.prototype.toSpliced()splice() 办法比其余几种办法都简单,其应用模式:splice(start, deleteCount, …items)。该办法会从从 start 索引处开始删除 deleteCount 个元素,而后在 start 索引处开始插入 item 中的元素,最初返回曾经删除的元素。
toSpliced 是 splice() 办法的非破坏性版本,它会返回更新后的数组,原数组不会变动,并且无奈再失去曾经删除的元素:

Array.prototype.with().with()办法的应用模式:.with(index, value),它是 arr[index] = value 的非破坏性版本:

WeakMap 反对应用 Symbol 作为 key 很久以前,咱们只能应用一个对象作为 WeakMap 的 key。

当初咱们应用“Symbol”作为“WeakMap”的 key。

03  浏览器反对

目前支流浏览器都以反对以上办法

正文完
 0