现代 JavaScript 提供了多种 String.prototype 方法以提升字符串处理效率。1. 字符串查找方法 includes、startsWith 和 endsWith 可直观判断子串存在与否,取代 indexOf 的繁琐比较;2. repeat、padStart 与 padEnd 支持字符串重复和首尾填充,便于格式化输出;3. trim、trimStart、trimEnd 实现更精细的空白字符去除,适用于输入清理;4. at 方法支持负索引访问字符,replaceAll 可全局替换子串而无需正则。这些 ES6 及后续版本方法增强了代码可读性与安全性,建议优先使用。

现代 JavaScript 为 String.prototype 提供了许多实用的方法,让字符串处理更加简洁高效。这些方法大多基于 ES6(ECMAScript 2015)及后续版本引入,广泛支持于现代浏览器和 Node.js 环境。
1. 字符串查找方法
判断字符串是否包含特定内容,不再需要依赖 indexOf 比较 -1,现在有更语义化的方法:
- includes(searchString, position):返回布尔值,表示是否包含指定子串。
- startsWith(searchString, position):判断字符串是否以指定内容开头。
- endsWith(searchString, length):判断是否在指定长度内以某子串结尾。
const str = "Hello, welcome to JavaScript!";
str.includes("welcome"); // true
str.startsWith("Hello"); // true
str.endsWith("Script!"); // true
2. 字符串重复与填充
快速生成重复或格式化字符串,适合用于占位、缩进等场景。
- repeat(count):返回重复指定次数的新字符串。
- padStart(targetLength, padString):在开头填充,直到达到目标长度。
- padEnd(targetLength, padString):在末尾填充。
"Hi".repeat(3); // "HiHiHi" "5".padStart(3, "0"); // "005" "5".padEnd(3, "!"); // "5!!"
3. 去除空白字符
除了传统的 trim(),现代 JS 还提供了更精确的控制方式。
立即学习“Java免费学习笔记(深入)”;
- trim():去除首尾空格、换行符等空白字符。
- trimStart() 或 trimLeft():仅去除开头空白。
- trimEnd() 或 trimRight():仅去除结尾空白。
const input = " username "; input.trim(); // "username" input.trimStart(); // "username "
4. 其他常用扩展方法
一些新增方法提升了开发效率和代码可读性。
- at(index):支持负索引访问字符(如 at(-1) 获取最后一个字符),比 charAt 更灵活。
- replaceAll(searchValue, replaceValue):全局替换所有匹配项,避免正则表达式麻烦。
"hello world".at(-1); // "d"
"yes-no-yes".replaceAll("-", "_"); // "yes_no_yes"
基本上就这些。这些 String.prototype 方法让字符串操作更直观、安全,减少手动循环或正则依赖,提升代码质量。实际开发中建议优先使用它们替代传统写法。










