ES9:越来越接近 Functional

随着时间的推移,JavaScript 编程语言已经越来越接近 Functional 编程的理念。在 ES9 中,我们可以看到更多的新特性旨在支持 Functional 编程的思想。本文将介绍 ES9 的强化特性,并探究它们如何使得 JavaScript 编程更加面向函数式编程。

强化的 Object

在 ES9 中,Object 也得到了增强。通过简单的 Object 方式,可以创建包含任意类型成员的对象。

但是 ES9 带来了更强大的 Object 功能,它让我们可以更方便地创建对象,这个功能就是 Object.fromEntries。它可以根据我们提供的键值对数组,创建一个对象。

这使得创建对象变得简单而优雅。例如,我们可以快速地从 URLSearchParams 中创建一个对象,从而简化对 URL 参数的操作:

强化的 Promise

在 ES6 中,JavaScript 引入了 Promise。它是一种方便的解决异步问题的方式。在 ES9 中,Promise 得到了进一步的增强,让我们可以更方便地修改 Promise 对象。

ES9 引入了 Promise.prototype.finally 方法,它返回一个新的 Promise 对象,该对象在 Promise 完成时被调用:

这使得我们在完成 Promise 时,可以更方便地添加额外的代码。

强化的 Async/Await

ES8 带来了 async/await,这是一种更加直观的处理异步任务的方式。ES9 引入了一些增强版本的 async/await,让它更加方便和易用。

在 ES9 中,可以使用 for-await-of 循环,方便的遍历 async 函数返回的可迭代对象:

这个例子中,range 函数返回一个异步可迭代对象,它每隔一秒钟产生一个值。然后我们使用 for-await-of 循环,处理每个值。我们可以轻松地处理异步任务,并便于管理我们的代码。

总结

ES9 为 JavaScript 带来了很多强制的增强功能,让它更接近 Functional 编程的理念。Object.fromEntries 和 Promise.prototype.finally 方法让我们更加容易地操作对象和处理异步任务。for-await-of 循环则让我们更加方便地处理异步任务的迭代器。

尝试使用这些特性,它们将使你编写的 JavaScript 更加简单、易于理解和维护。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6539d0e07d4982a6eb35b4c7


纠错
反馈