ECMAScript 2016 在标准库方面进行了很大的改进,引入了多个新函数和方法。本文将介绍如何在前端开发中使用这些新的标准库函数。
数组新函数
Array.prototype.includes()
Array.prototype.includes()
函数判断数组中是否包含某一项并返回 true
或者 false
。
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
Array.prototype.flat()
Array.prototype.flat()
函数可以将多层嵌套的数组扁平化为一层。
const arr = [1, [2, 3], [[4], 5]]; console.log(arr.flat()); // [1, 2, 3, [4], 5]
Array.prototype.flatMap()
Array.prototype.flatMap()
函数将数组扁平化之后,对每个元素执行映射操作,并返回一个新的扁平化后的数组。
const arr = [1, 2, 3]; console.log(arr.flatMap(x => [x, x * 2])); // [1, 2, 2, 4, 3, 6]
字符串新函数
String.prototype.includes()
String.prototype.includes()
函数判断字符串中是否包含另一字符串并返回 true
或者 false
。
const str = 'Hello, world'; console.log(str.includes('world')); // true console.log(str.includes('JavaScript')); // false
String.prototype.repeat()
String.prototype.repeat()
函数返回一个新的字符串,该字符串包含原字符串重复指定次数的结果。
const str = 'abc'; console.log(str.repeat(3)); // abcabcabc
String.prototype.padStart()
和 String.prototype.padEnd()
String.prototype.padStart()
和 String.prototype.padEnd()
函数在字符串的前面或后面添加指定的字符,使字符串达到指定的长度。
const num = '7'; console.log(num.padStart(2, '0')); // 07 console.log(num.padEnd(3, '!')); // 7!!
对象新函数
Object.assign()
Object.assign()
函数可以将多个对象合并为一个对象,并返回新的对象。如果多个对象中有相同的属性,则后面的属性会覆盖前面的属性。
const target = { a: 1 }; const source = { b: 2 }; const result = Object.assign(target, source); console.log(result); // { a: 1, b: 2 }
Object.values()
和 Object.entries()
Object.values()
函数返回一个数组,包含对象的所有属性值。Object.entries()
函数返回一个数组,包含对象的所有属性及其对应的值。
const obj = { a: 1, b: 2, c: 3 }; console.log(Object.values(obj)); // [1, 2, 3] console.log(Object.entries(obj)); // [['a', 1], ['b', 2], ['c', 3]]
总结
本文介绍了 ECMAScript 2016 中新增的一些标准库函数,并给出了示例。使用这些新函数可以更加方便地进行前端开发,提高开发效率。同时也要注意兼容性问题,以便于更好地支持不同的浏览器或者平台。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64b289a648841e9894eb9aae