ES7(ECMAScript 2016)是 JavaScript 的一个新版本,其中引入了一些新的全局对象方法。在这篇文章中,我们将介绍这些新方法及其用法和指导意义。
includes()
includes()
方法用于判断字符串或数组中是否包含特定元素,并返回true
或false
。在之前的版本中,我们通常使用 indexOf()
来实现类似的功能。但是,相对于indexOf方法要繁琐和易出错,includes()
更简洁易懂。
下面是一个例子:
const numbers = [1, 2, 3, 4, 5]; console.log(numbers.includes(3)); // true
而使用indexOf则要八面玲珑地避免-1这个号码,否则还得用三目运算符。
const numbers = [1, 2, 3, 4, 5]; console.log(numbers.indexOf(3) !== -1); // true
另外,includes()
方法支持第二个参数来指定搜索的开始位置。
padStart() 和 padEnd()
padStart()
和 padEnd()
方法可以用于把一个字符串填充到固定长度,填充的方式可以是任意字符。这两个方法在处理长度固定的字符串时非常有用。
下面是一个使用padStart()
的例子:
let str = 'hello'; console.log(str.padStart(10, '-')); // '-----hello'
在这个例子中,我们让 str
这个字符串填充到了长度为10的空间,并使用 -
字符填充。
padEnd()
方法用法类似,只不过是在字符串的末尾进行填充。
async/await
ES7 引入了异步编程的新方法:async/await。这对于编写 JavaScript 中的异步代码非常有用,可以简化并发复杂度。
下面是一个使用 async/await
的例子:
-- -------------------- ---- ------- ----- -------- ----------- - ----- -------- - ----- -------------------------------------- ----- ---- - ----- ---------------- ------ ----- - --------------------- -- - ------------------ -------------- -- - ------------------- ---
在上面的例子中,我们首先定义了一个异步函数 fetchData()
,它使用 fetch()
和 response.json()
方法从 Github API 获取数据。然后使用 .then()
来处理返回值和.catch()
来捕获异步请求失败时的错误。
异步函数将会帮助你更好的处理Promise,它把异步实现变得更加直观和便捷。
结论
ES7引入了一些非常有用的全局对象方法,包括includes()
、padStart()
、padEnd()
和 async/await 等功能,这些方法可以让我们更加轻易地编写可读性强且功能强大的代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6754fde81b963fe9cc516d91