JavaScript——ES10新特性
一、对象方法扩展
Object.fromEntries() 方法用来创建对象,但是方法参数接收二维数组或 Map
// 传入二维数组
const result = Object.fromEntries([
['brand', 'mi'],
['price', 1999]
])
console.log(result);
// 传入 Map
const m = new Map();
m.set('brand', 'huawei');
const result2 = Object.fromEntries(m);
console.log(result2);
Object.fromEntries()
方法可以将二位数组转换为对象,Object.entries()
可以把对象转换为二维数组,这两个方法互为逆运算。
二、字符串扩展方法
str.trimStart()
方法清除字符串左侧的空白,str.trimEnd()
方法清除字符串右侧的空白。
let str = ' I love you ';
console.log(str.trimStart() + ';');
console.log(str.trimEnd() + ';');
// I love you ;
// I love you;
三、数组扩展方法
arr.flat()
将多维数组转化为低维数组,参数为深度。
const arr = [1, 2, 3, [4, 5, 6]];
console.log(arr.flat());
// 返回 [ 1, 2, 3, 4, 5, 6 ]
const arr = [1, 2, 3, [4, 5, 6, [7, 8, 9]]];
console.log(arr.flat(2));
// 返回 [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
四、Symbol 扩展
Symbol.description 用于获取 Symbol 的描述字符串。
let s = Symbol("xiaomi");
console.log(s.description);
// 返回 xiaomi