ES9是ECMAScript标准的第9个版本,它包含了许多新特性和方法,这些新特性和方法可以帮助前端开发者更好地完成任务。在本篇文章中,我们将详细介绍ES9的新方法,为大家提供深入学习和指导意义。
Object.fromEntries
Object.fromEntries方法可以将数组转换为对象。它的作用是将一个由键值对数组组成的对象转换为一个对象。
const entries = [['foo', 'bar'], ['baz', 42]]; const obj = Object.fromEntries(entries); console.log(obj); // {foo: "bar", baz: 42}
String.prototype.trimStart() 和 String.prototype.trimEnd()
String.prototype.trimStart()和String.prototype.trimEnd()方法用于去掉字符串的开头或结尾的空格。
const str = ' Hello World '; console.log(str.trimStart()); // "Hello World " console.log(str.trimEnd()); // " Hello World"
Symbol.prototype.description
Symbol.prototype.description方法返回Symbol的描述,它是一个字符串。
const sym = Symbol('hello'); console.log(sym.description); // "hello"
Promise.prototype.finally
Promise.prototype.finally方法是Promise的一个操作,它用于指定一个回调函数,当promise执行结束时,无论结果是fulfilled或rejected,都会执行该回调函数。
Promise.resolve('hello') .then((res) => console.log(res)) .finally(() => console.log('finally!'));
Array.prototype.flat 和 Array.prototype.flatMap
Array.prototype.flat方法用于将嵌套数组“展平”,即将多维数组转换为一维数组。Array.prototype.flatMap方法则是在进行展平之后,再使用一个映射函数对数组中的所有元素进行映射,最后返回一个新数组。
const arr = [1, 2, [3, 4]]; console.log(arr.flat()); // [1, 2, 3, 4] const arr2 = [1, 2, 3]; console.log(arr2.flatMap(x => [x * 2])); // [2, 4, 6]
Object.entries 和 Object.values
Object.entries和Object.values方法分别返回一个对象的键值对数组和值数组。
const obj = {foo: 'bar', baz: 42}; console.log(Object.entries(obj)); // [["foo", "bar"], ["baz", 42]] console.log(Object.values(obj)); // ["bar", 42]
总结
在ES9中,我们看到了许多新的方法,这些新方法可以帮助前端开发者更好地完成任务。通过Object.fromEntries,我们可以将一个由键值对数组组成的对象转换为一个对象;通过String.prototype.trimStart()和String.prototype.trimEnd()方法,我们可以去掉字符串开头或结尾的空格;通过Symbol.prototype.description方法,我们可以返回Symbol的描述;通过Array.prototype.flat和Array.prototype.flatMap方法,我们可以将嵌套数组“展平”,并对其进行映射;通过Object.entries和Object.values方法,我们可以获取一个对象的键值对数组和值数组。这些新方法可以最大限度地提高我们的开发效率,让我们可以更快地完成任务。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645a1728968c7c53b0c36737