前言
在项目开发中,我们经常需要对字符串进行处理,比如在字符串开始或结尾补全特定字符或空格。在过去我们可能会使用传统的字符串拼接方法或者使用正则表达式。但这些方法在使用时均存在一些问题,不太方便且不够流畅。在 ES8 中,加入了两个新的字符串处理方法,即 String.prototype.padStart() 和 String.prototype.padEnd() ,可以很好地优化字符串处理体验。接下来本文将对它们进行详细介绍。
String.prototype.padStart() 方法
String.prototype.padStart() 方法可以在字符串的开头填充指定的字符串,直到字符串达到指定的长度。
语法
str.padStart(targetLength [, padString])
targetLength
:填充后字符串所需要达到的长度,如果当前字符串长度大于或等于该长度,则返回原始字符串。padString
:可选参数,要在当前字符串的开头填充的字符串,如果未指定,则默认填充空格。
示例
console.log('abc'.padStart(5, '123')); // "1abc" console.log('abc'.padStart(5)); // " abc" console.log('abc'.padStart(2)); // "abc"
从示例可以看到,padStart() 方法基本上是在字符串开头添加填充项。 第一个参数 targetLength 指定了输出的字符串长度。 如果当前字符串长度大于或等于该长度,则不会添加填充字符。 第二个可选参数 padString 即为填充的字符。 如果没有指定该参数,则默认使用空格。
String.prototype.padEnd() 方法
与 String.prototype.padStart() 方法相似的是,String.prototype.padEnd() 方法可以在字符串的结尾添加填充项,直到字符串达到指定的长度。
语法
str.padEnd(targetLength [, padString])
targetLength
:填充后字符串所需要达到的长度,如果当前字符串长度大于或等于该长度,则返回原始字符串。padString
:可选参数,要在当前字符串的结尾填充的字符串,如果未指定,则默认填充空格。
示例
console.log('abc'.padEnd(5, '123')); // "abc12" console.log('abc'.padEnd(5)); // "abc " console.log('abc'.padEnd(2)); // "abc"
与 padStart() 方法类似,padEnd() 方法在为字符串添加填充项时,在字符串的结尾添加填充项。传递给方法的两个参数的含义与 padStart() 方法的参数相同。
总结
在 ES8 中,对字符串的处理进行了更好的优化和扩展,使得我们在实际开发中可以更方便地处理字符串相关操作,不需要手动判断长度或使用繁琐的正则表达式。String.prototype.padStart() 和 String.prototype.padEnd() 方法是这些优化中非常实用的一些,它们可以提供更加简洁、易读的字符串填充方式。在进行字符串处理时,我们可以优先考虑使用这两个方法。
参考文献
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6498ea6748841e98945d84f5