ES10中Object.fromEntries(),trimStart() ,trimend()的使用方法和使用场景例子

77 阅读2分钟

ES10(ECMAScript 2019)新特性总结

ES10(ECMAScript 2019)引入了一些新的方法,增强了 JavaScript 的灵活性和易用性。以下是 Object.fromEntries()trimStart()trimEnd() 的使用方法、使用场景以及例子。

1. Object.fromEntries()

1.1 用法

Object.fromEntries() 方法用于将一个键值对的可迭代对象(如 Map 或数组)转换成一个对象。它是 Object.entries() 的逆操作,将一个 entries 数组(每个元素是一个 [key, value] 数组)转换为对象。

const entries = [['name', 'Alice'], ['age', 30]];
const obj = Object.fromEntries(entries);
console.log(obj); // { name: 'Alice', age: 30 }
  • 语法Object.fromEntries(iterable)
    • iterable:一个可迭代对象,如 Map 或数组,包含键值对。

1.2 使用场景

Object.fromEntries() 可以用于将 Map 转换为对象,或者将键值对数组转换为对象。常见应用场景包括处理 URL 查询参数,或者将数据存储在 Map 中时,转换为对象进行处理。

例子:从 Map 转换为对象
const map = new Map([['name', 'Alice'], ['age', 30]]);
const obj = Object.fromEntries(map);
console.log(obj); // { name: 'Alice', age: 30 }
例子:处理 URL 查询参数
const query = new URLSearchParams('name=John&age=25');
const queryObj = Object.fromEntries(query);
console.log(queryObj); // { name: 'John', age: '25' }

2. trimStart()trimEnd()

2.1 用法

trimStart()trimEnd() 分别用于去除字符串开头和结尾的空白字符。它们是 trim() 的扩展方法,提供了更细粒度的控制。

trimStart()
const str = '  Hello World  ';
const trimmedStr = str.trimStart();
console.log(trimmedStr); // "Hello World  "
  • 语法str.trimStart()
    • 返回去除字符串开头空白字符后的新字符串。
trimEnd()
const str = '  Hello World  ';
const trimmedStr = str.trimEnd();
console.log(trimmedStr); // "  Hello World"
  • 语法str.trimEnd()
    • 返回去除字符串结尾空白字符后的新字符串。

2.2 使用场景

这两个方法适用于需要去除字符串首尾空格的场景,但只需要去除一端空格时,使用它们比 trim() 更高效。

例子:去除字符串开头的空格
const str = '   Hello';
const result = str.trimStart();
console.log(result); // "Hello"
例子:去除字符串结尾的空格
const str = 'Hello   ';
const result = str.trimEnd();
console.log(result); // "Hello"
例子:去除文本输入的空格

在处理用户输入时,常常需要去除输入字符串前后的空格,trimStart()trimEnd() 可以精确控制去除哪一端的空格。

let userInput = '   User input text   ';
let processedInput = userInput.trimStart();
console.log(processedInput); // "User input text   "

3. 总结

1. Object.fromEntries()

  • 用途:将一个包含键值对的可迭代对象(如 Map 或数组)转换成对象。
  • 常见场景:从 Map 转换为对象、处理 URL 查询参数等。

2. trimStart()trimEnd()

  • 用途:分别用于去除字符串开头和结尾的空白字符。
  • 常见场景:清理用户输入、格式化字符串等。

这三个特性使得 JavaScript 在处理字符串和对象时更加灵活,提供了更细粒度的控制,提升了代码的可读性和简洁性。