在前端开发中,字符串的操作是很常见的,比如向后端传递数据时需要格式化字符串的长度以达到一定的规范。在 ES8 中,为字符串追加空格或 0 的方法被加入到了 String.prototype 中,即 String.prototype.padStart() 和 String.prototype.padEnd() 方法,它们可以非常方便地为字符串追加空格或 0。
String.prototype.padStart()
String.prototype.padStart() 可以在字符串前部添加指定数量的空格或其他字符,使字符串达到指定的长度。其语法如下:
str.padStart(targetLength [, padString])
其中,targetLength 表示目标长度,即字符串需要达到的长度;padString 表示用来填充空位的字符串,默认值是空格。
下面是一个例子:
const str = 'abc'; console.log(str.padStart(5)); // ' abc' console.log(str.padStart(5, '0')); // '00abc' console.log(str.padStart(2)); // 'abc'
String.prototype.padEnd()
同样的,String.prototype.padEnd() 可以在字符串后部添加指定数量的空格或其他字符,使字符串达到指定的长度。其语法如下:
str.padEnd(targetLength [, padString])
其中,targetLength 和 padString 参数同上。
下面是一个例子:
const str = 'abc'; console.log(str.padEnd(5)); // 'abc ' console.log(str.padEnd(5, '0')); // 'abc00' console.log(str.padEnd(2)); // 'abc'
应用场景
- 在密码中隐藏一部分内容,使其难以猜测。
const password = '1234567890'; const hiddenPassword = password.padStart(password.length - 4, '*'); console.log(hiddenPassword); // '******7890'
- 格式化数字。比如将 12345 转化为 '12,345'。
const num = '12345'; const formattedNum = num.padStart(8, '0').replace(/(\d{3})/g, '$1,').slice(0, -1); console.log(formattedNum); // '12,345'
总结
使用 ES8 中的 String.prototype.padStart() 和 String.prototype.padEnd() 方法,在字符串的处理方面,能够为我们带来不小的便利。它会在字符串的前部或后部自动填充指定数量的空格或其他字符,使其达到目标长度,这对于一些格式化字符串的场景尤其重要。
如果您在开发中需要对字符串进行处理,可以尝试使用这两个方法进行优化,以提高开发效率和代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645c75b6968c7c53b0ed573b