trimStart()
方法从字符串的开头删除空格。trimLeft()
是此方法的别名。The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
语法
str.trimStart(); str.trimLeft();
返回值
一个新字符串,表示从其开头(左端)除去空格的调用字符串。
描述
trimStart()
/ trimLeft()
方法移除原字符串左端的连续空白符并返回一个新字符串,并不会直接修改原字符串本身。
别名
为了与 String.prototype.padStart
等函数保持一致,标准方法名称为trimStart
。 但是,出于 Web 兼容性原因,trimLeft
仍然是 trimStart
的别名。在某些引擎中,这意味着:
String.prototype.trimLeft.name === "trimStart";
示例
使用 trimStart()
下面的例子输出了小写的字符串 "foo "
:
var str = " foo ";
console.log(str.length); // 8
str = str.trimStart() // 等同于 str = str.trimLeft();
console.log(str.length); // 5
console.log(str); // "foo "
规范
规范 | 状态 | 备注 |
---|---|---|
String.prototype.{trimStart,trimEnd} proposal |
Stage 4 | Expected to be part of ES2019 |
浏览器兼容性
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Polyfill
// https://github.com/FabioVergani/js-Polyfill_String-trimStart
(function(w){
var String=w.String, Proto=String.prototype;
(function(o,p){
if(p in o?o[p]?false:true:true){
var r=/^\s+/;
o[p]=o.trimLeft||function(){
return this.replace(r,'')
}
}
})(Proto,'trimStart');
})(window);
/*
ES6:
(w=>{
const String=w.String, Proto=String.prototype;
((o,p)=>{
if(p in o?o[p]?false:true:true){
const r=/^\s+/;
o[p]=o.trimLeft||function(){
return this.replace(r,'')
}
}
})(Proto,'trimStart');
})(window);
*/