String.prototype.trimStart()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

trimStart() 方法用于 String 值的开头移除空白字符,并返回一个新字符串,该字符串的原始字符串不会被修改。trimLeft() 是此方法的别名。

试一试

const greeting = "   Hello world!   ";

console.log(greeting);
// Expected output: "   Hello world!   ";

console.log(greeting.trimStart());
// Expected output: "Hello world!   ";

语法

js
trimStart()

trimLeft()

参数

无。

返回值

返回一个新字符串,表示 str 从开头(左侧)移除空白字符后的结果。空白字符的定义包括 空白字符行终止符

如果 str 的开头没有空白字符,仍然会返回一个新字符串(本质上是 str 的副本)。

混叠

trim() 标准化之后,引擎也实现了非标准的 trimLeft 方法。然而,为了与 padStart() 保持一致,当该方法标准化时,其名称被选定为 trimStart。出于 Web 兼容性原因,trimLeft 仍然是 trimStart 的别名,它们指向完全相同的函数对象。在某些引擎中,这意味着

js
String.prototype.trimLeft.name === "trimStart";

示例

使用 trimStart()

以下示例从 str 的开头(左侧)移除空白字符,但不会移除其末尾的空白字符。

js
let str = "   foo  ";

console.log(str.length); // 8

str = str.trimStart();
console.log(str.length); // 5
console.log(str); // 'foo  '

规范

规范
ECMAScript® 2026 语言规范
# sec-string.prototype.trimstart

浏览器兼容性

另见