trimstart()清除字符串开头空白、trimend()清除结尾空白,均不修改原串且仅针对unicode空白字符;trimstart()别名trimleft(),trimend()别名trimright(),二者均不支持自定义字符。

ES6 中的 trimStart() 和 trimEnd() 专门用于精准清除字符串开头或结尾的空白字符,不碰中间部分,也不修改原字符串。
trimStart():只清开头,保留尾部
它会从字符串最左侧开始,连续移除所有符合“Unicode 空白字符”定义的字符,直到遇到第一个非空白字符为止。支持的空白包括:
- 空格(
' ') - 制表符(
'\t')、换行符('\n')、回车符('\r') - 垂直制表符(
'\v')、换页符('\f') - 各类 Unicode 空白,如不间断空格(
)、零宽空格(\u200b)、以及\u2000–\u200a区间字符等
例如:
const str = "\t\n Hello world \r\n";
console.log(str.trimStart()); // "Hello world \r\n"
用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。
trimEnd():只清结尾,保留头部
行为与 trimStart() 对称,从右侧往左扫描并移除连续空白,直到碰到首个非空白字符。同样兼容所有标准空白字符类型。
例如:
const str = "\t\n Hello world \r\n";
console.log(str.trimEnd()); // "\t\n Hello world"
注意事项和常见用法
- 两个方法都返回新字符串,原始字符串保持不变(JavaScript 字符串不可变)
-
trimStart()是标准名称,trimLeft()是它的别名(仍可用,但建议用前者);同理trimEnd()推荐替代trimRight() - 不支持传入自定义字符,比如不能用
str.trimStart('x')去掉开头的字母 x —— 它只认空白字符 - 适合表单输入预处理、日志清洗、多行文本对齐保留等场景,比
trim()更可控










