ES10 (ECMAScript 2019) 是 JavaScript 的最新版本,它引入了一些小变化和细节,这些变化和细节不仅是技术层面的,同时也有一定的学习和指导意义。在本文中,我将会结合实例代码详细地介绍 ES10 中一些小变化和细节,并说明它们在实际开发中的应用。
1. Array.flat() 和 Array.flatMap()
在 ES10 中,Array 增加了两个新方法 flat() 和 flatMap()。这两个方法都是用来展开数组的。
Array.flat()
Array.flat() 方法可以展开嵌套数组。该方法接受一个可选参数 depth,表示展开的深度。如果没有指定 depth,则默认为 1。
const arr = [1, [2, [3, [4]]]]; // 指定展开深度为 2 console.log(arr.flat(2)); // [1, 2, 3, 4]
Array.flatMap()
Array.flatMap() 方法可以将每个元素映射到一个新数组,并将所有数组连接成一个新的数组。该方法接受两个参数:一个函数,用于指定每个元素的转换规则,以及一个可选参数 thisArg,用于指定 this 的值。
const arr = [1, 2, 3]; // 将每个元素乘以 2,并展开数组 console.log(arr.flatMap(x => [x * 2])); // [2, 4, 6]
2. Object.fromEntries()
Object.fromEntries() 方法可以将一个包含键值对的数组转换为一个对象。
const arr = [['a', 1], ['b', 2]]; console.log(Object.fromEntries(arr)); // {a: 1, b: 2}
示例代码
const arr = [['a', 1], ['b', 2]]; const obj = Object.fromEntries(arr); console.log(obj); // {a: 1, b: 2}
3. String.trimStart() 和 String.trimEnd()
在 ES10 中,String 类型增加了两个新方法 trimStart() 和 trimEnd()。这两个方法分别用于删除字符串开头和结尾的空格。在之前的版本中,只有 trim() 方法可以删除字符串开头和结尾的空格。这两个新方法与 trim() 方法类似,只是它们只会删除开头或结尾的空格。
const str = ' hello world '; console.log(str.trim()); // 'hello world' console.log(str.trimStart()); // 'hello world ' console.log(str.trimEnd()); // ' hello world'
示例代码
const str = ' hello world '; console.log(str.trim()); // 'hello world' console.log(str.trimStart()); // 'hello world ' console.log(str.trimEnd()); // ' hello world'
4. try { } catch { } 可以省略异常参数
在之前的版本中,try-catch 只有在捕获异常时才能省略参数。在 ES10 中,try-catch 中的参数可以省略,这样就不用显式声明异常参数了。
-- -------------------- ---- ------- -- ----------- --- - -- ---- ---- - ----- ----- - ----------------- - -- ---------------- --- - -- ---- ---- - ----- - --------------- ----- ----------- -
示例代码
-- -------------------- ---- ------- -- ----------- --- - ----- --- - --- ---------------------- - ----- ------- - ------------------- - -- ---------------- --- - ----- --- - --- ---------------------- - ----- - --------------- ----- ----------- -
结论
在本文中,我们介绍了 ES10 中一些小变化和细节,包括 Array.flat() 和 Array.flatMap()、Object.fromEntries()、String.trimStart() 和 String.trimEnd()、try-catch 可以省略异常参数。这些变化和细节虽然看起来很小,但是在实际开发中却有很大的应用价值,所以我们应该重视它们,掌握它们。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6704969cd91dce0dc84f60f0