ES10 新特性
ES10 新特性
对象方法扩展
Object.fromEntries
-
二维数组 转为 对象
const result = Object.fromEntries([ ["name", "尚硅谷"], ["xueke", "Java", "Vue"], ]); console.log(result); // {name: '尚硅谷', xueke: 'Java'} "Vue"被抛弃
-
Map 转为 对象
const m = new Map(); m.set("name", "ATGUIGU"); const result = Object.fromEntries(m); console.log(result); // { name: 'ATGUIGU' }
字符串方法扩展
trimStart
与 trimEnd
// trim
let str = " iloveyou ";
console.log(str); // iloveyou
console.log(str.trimStart()); // iloveyou 去除头部空格
console.log(str.trimEnd()); // iloveyou 去除尾部空格
数组方法扩展
flat
将多维数组转化为低维数组
// 将多维数组转化为低维数组(默认降一维)
const arr = [1, 2, 3, 4, [5, 6, [7, 8]]];
console.log(arr.flat()); // [1, 2, 3, 4, 5, 6, [7, 8]]
// 参数为深度
console.log(arr.flat(2)); // [1, 2, 3, 4, 5, 6, 7, 8]
flatMap
相当于 map + flat
const arr = [1, 2, 3, 4];
const result = arr.map((item) => [item * 10]);
console.log(result); // [[10], [20], [30], [40]]
const result2 = arr.flatMap((item) => [item * 10]);
console.log(result2); // [10, 20, 30, 40]
Symbol 扩展
Symbol.prototype.description
获取 Symbol 描述字符串
// 创建 Symbol
let s = Symbol("尚硅谷");
// 获取 Symbol 描述字符串
console.log(s.description); // 尚硅谷