ES14 中最具变革性的 5 个 JavaScript 特性

在过去的 10 年里,JavaScript 已经取得了长足的进步,每个版本都有全新的功能升级。

我们来看看 ES14(2023)中到来的 5 个最重要的特性;并看看你错过了哪些。

toSorted()

toSorted() 方法使得对数组进行排序并返回一个不发生变异的副本变得更加容易。

不用这样做:

b4e37053501baf72e8715f560f4007b6.png

现在可以做到这一点:

5ac90b0d574ea5c77c66bece9177ea91.png

toSorted() 接受一个回调来控制排序行为 - 升序或降序,字母或数字。就像 sort() 一样。

toReversed()

另一个新的 Array 方法用于促进不变性和函数式编程。

之前 reverse() ❌:

362ed661a6c7a859926235cb2983662b.png

现在 - 有 toReversed() ✅:

bfa0ca63dc04868985245cd7089c8b91.png

不可变的方法非常棒,可以不断地链式调用方法,而不用担心原始变量:

1b5bc159fc84ba40ecefab103d2b1b4f.png

toSpliced()

这是 .splice() 的不可变副本:

fe59547182831bd2ac131e614271d971.png

从最后开始查找数组

从第一项开始搜索并不总是理想的:

9473c9e80d98ae86732baa3d5dcb71f4.png

可以轻易看出,相比从头开始,我从我们庞大列表的末尾开始搜索会快得多。

2fb1f2193d02a5a419b6ed62e4ab3d32.png

就像我们想在一系列数字中找到最后一个偶数, findfindIndex 将会非常不准确。

bd3318304a062f29fb286db47072d06c.png

并且调用 reverse() 也不会起作用,即使它会很慢:

3628556bdaa835929cabbdbec17c58e4.png

所以在像 findLast() 和 findLastIndex() 方法派上用场的情况下。

f28e98ce6e835c8e4bb11d2d57427015.png

这段代码更短,更易读。最重要的是,它得到了正确的结果。

Array with() 方法

with() 是我们快速更改数组元素而完全不进行变异的方式。而不是这种常规方式:

b6dc2f1e874c00a8e853a180edb02e56.png

ES14:

257651c5fe7ab8acfd517248f801b8e6.png

总结

随着 React 的崛起,我们看到声明式 JavaScript 在受欢迎程度上猛增;更多的这样的元素以甜美的语法糖的形式内置在语言中也是理所当然的。

它们有其他特性,但 ES14 全都是关于更简单的函数式编程和内置的不变性。

最后:

vue2与vue3技巧合集

VueUse源码解读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@大迁世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值