JS string trimLeft()
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()
方法移除原字符串左端的连续空白符并返回,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 '
Specifications
Specification | Status | Comment |
---|---|---|
[String.prototype.{trimStart,trimEnd}](https://github.com/tc39/proposal-string-left-right-trim/#stringprototypetrimstart--stringprototypetrimend) proposal |
Stage 4 | Expected to be part of ES2019 |
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);
*/