随着 ECMAScript 的版本不断更新,前端开发中涉及到的全局函数也在不断扩充,ES9 中新增的全局函数解决了一些以往比较棘手的问题,让开发变得更加便捷和高效。本文将详细介绍 ES9 中常见的全局函数,帮助读者深入了解这些函数的用途和实现方式,并给出使用示例和指导意义。
1. Object fromEntries()
Object fromEntries() 方法可以将由键值对构成的数组转换为对象,这对于处理一些数据操作非常方便。这个方法有以下两个参数:
- entries:表示一个由键值对构成的数组;
- obj:表示一个返回的对象,在这个对象中,键名和键值分别来自数组中的键和值。
const entries = [['a', 1], ['b', 2], ['c', 3]]; const obj = Object.fromEntries(entries); console.log(obj); // {a: 1, b: 2, c: 3}
2. String.trimStart() 和 String.trimEnd()
String.trimStart() 和 String.trimEnd() 方法分别用于去除字符串开头和结尾的空白字符。这些空白字符包括空格、制表符、换行符等。
const str = ' hello world '; console.log(str.trimStart()); // 'hello world ' console.log(str.trimEnd()); // ' hello world'
3. Function.toString()
Function.toString() 方法返回一个字符串,表示函数的源代码。此方法有助于帮助开发者查找代码的错误和调试程序。
function demo() { console.log('This is a demo function'); } const sourceCode = demo.toString(); console.log(sourceCode); // 'function demo() {console.log('This is a demo function');}'
4. Promise.prototype.finally()
Promise.prototype.finally() 方法允许在 Promise 对象执行完毕后,无论 Promise 的状态是成功还是失败,都能够执行指定的回调函数。
-- -------------------- ---- ------- ----- ------- - --- ----------------- ------- -- - ------------- -- - ---------------- -- ------ --- ------- ---------- -- - ------------------ -- ---------- -- - ------------------- -- ----------- -- - -------------------- ------------ ---
5. Math.sign()
Math.sign() 方法返回一个数的符号。如果该数字为正,则返回 1,如果该数字为负,则返回 -1,如果该数字为 0,则返回 0。
console.log(Math.sign(3)); // 1 console.log(Math.sign(-3)); // -1 console.log(Math.sign(0)); // 0
6. Array.flat()
Array.flat() 方法用于将嵌套的数组 “打平”,使其变为一维数组。这个方法有一个可选参数,用于指定要 “打平” 的嵌套层数。
const arr1 = [1, [2, 3], [4, [5, 6]]]; const arr2 = arr1.flat(); console.log(arr2); // [1, 2, 3, 4, [5, 6]] const arr3 = arr1.flat(2); console.log(arr3); // [1, 2, 3, 4, 5, 6]
总结
ES9 中的这些全局方法为前端开发者提供了更多便利和效率,能够更好地处理数据和调试程序。熟练掌握这些方法对于提高应用程序的质量和开发效率非常重要。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64fd3f8f95b1f8cacdccb0f9