String.prototype.trimStart()

O método trimStart() remove espaços do começo de uma string (cadeia de caracteres). trimLeft() é um apelido para este método.

Sintaxe

str.trimStart();
str.trimLeft();

Valor de retorno

Uma nova string representando a string sem os espaços no começo (fim à esquerda).

Descrição

Os métodos trimStart() / trimLeft() retornam a string sem os espaços no fim à esquerda. trimLeft() ou trimStart() não afeta o valor da string em si.

Aliasing

Para consistência com funções como String.prototype.padStart o nome padrão do método é trimStart. Entretanto, por razões de compatibilidade na web, trimLeft permanece como um apelido para trimStart. Em alguns motores isso significa:

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

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);
*/

Exemplos

Usando trimStart()

O seguinte exemplo mostra uma string em caixa baixa 'foo  ':

var str = '   foo  ';

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

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

Especificações

Especificação
ECMAScript (ECMA-262)
The definition of ' String.prototype.trimStart' in that specification.

Compatibilidade de navegador

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
trimStartChrome Full support 66
Full support 66
Full support 4
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
Edge Full support 12
Alternate Name
Full support 12
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
Firefox Full support 61
Full support 61
Full support 3.5
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
IE No support NoOpera Full support 53
Full support 53
Full support 15
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
Safari Full support 12WebView Android Full support 66
Full support 66
Full support ≤37
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
Chrome Android Full support 66
Full support 66
Full support 18
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
Firefox Android Full support 61
Full support 61
Full support 4
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
Opera Android Full support 47
Full support 47
Full support 14
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
Safari iOS Full support 12Samsung Internet Android Full support 9.0
Full support 9.0
Full support 1.0
Alternate Name
Alternate Name Uses the non-standard name: trimLeft
nodejs Full support 10.0.0
Full support 10.0.0
Full support 0.12
Alternate Name
Alternate Name Uses the non-standard name: trimLeft

Legend

Full support  
Full support
No support  
No support
Uses a non-standard name.
Uses a non-standard name.

Veja também