在前端开发中,字符串是不可或缺的一部分。ECMAScript 2021 引入了一些新的 String 方法和功能,使得字符串的使用更加方便和灵活。本文将深入探讨 ECMAScript 2021 中的 String 的使用方法,包括新的方法和已有方法的扩展。
新的 String 方法
String.prototype.replaceAll()
replaceAll()
方法可以替换所有匹配的子字符串。与 replace()
方法不同的是,replace()
方法只会替换第一个匹配的子字符串。
示例代码:
const str = 'hello world'; const newStr = str.replaceAll('l', 'x'); console.log(newStr); // 'hexxo worxd'
String.prototype.trimStart()
和 String.prototype.trimEnd()
trimStart()
和 trimEnd()
方法可以分别删除字符串开头和结尾的空格。
示例代码:
const str = ' hello world '; console.log(str.trimStart()); // 'hello world ' console.log(str.trimEnd()); // ' hello world'
String.prototype.matchAll()
matchAll()
方法可以返回一个迭代器,包含了所有匹配的子字符串及其相关信息。
示例代码:
const str = 'hello world'; const regex = /l/g; const matches = str.matchAll(regex); for (const match of matches) { console.log(match); } // {0: 'l', index: 2, input: 'hello world'} // {0: 'l', index: 3, input: 'hello world'}
已有方法的扩展
String.prototype.slice()
slice()
方法可以从字符串中提取子字符串。ECMAScript 2021 中,slice()
方法支持负数索引,表示从字符串末尾开始计数。
示例代码:
const str = 'hello world'; console.log(str.slice(2)); // 'llo world' console.log(str.slice(-5)); // 'world'
String.prototype.includes()
includes()
方法可以判断字符串中是否包含指定的子字符串。ECMAScript 2021 中,includes()
方法支持第二个参数,表示从指定位置开始搜索。
示例代码:
const str = 'hello world'; console.log(str.includes('world')); // true console.log(str.includes('WORLD')); // false console.log(str.includes('world', 6)); // true
String.prototype.padStart()
和 String.prototype.padEnd()
padStart()
和 padEnd()
方法可以在字符串的开头或结尾填充指定的字符,使字符串达到指定的长度。
示例代码:
const str = 'hello'; console.log(str.padStart(10, '-')); // '-----hello' console.log(str.padEnd(10, '-')); // 'hello-----'
总结
ECMAScript 2021 中的 String 引入了一些新的方法和功能,使得字符串的使用更加方便和灵活。同时,已有的方法也得到了扩展,提高了其实用性。开发者可以根据自己的需求,灵活运用这些方法和功能,提高开发效率和代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6607c358d10417a22265d8c0