Tradução em progresso.

O método padStart()preenche a string alvo com outra string (múltiplas vezes, se necessário) até que a string resultante alcance o comprimento estipulado. O preenchimento é aplicado a partir do início (esquerda) da string alvo.

 

 

Sintaxe

str.padStart(targetLength [, padString])

Parâmetros

targetLength
O comprimento da string resultante uma vez que a string alvo tenha sido preenchida. Caso seu valor seja menor do que o comprimento da string alvo, é retornado a própria string alvo, sem alterações.
padString Optional
A string que deve preencher a string alvo. Caso o comprimento dessa essa string de preenchimento seja superior ao targetLength, ela será truncada a partir da direita. O valor padrão é " " (U+0020 'SPACE').

Valor de retorno

Uma String de comprimento específico com uma string de preenchimento aplicada a partir do seu início.

Exemplos

'abc'.padStart(10);         // "       abc"
'abc'.padStart(10, "foo");  // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0");     // "00000abc"
'abc'.padStart(1);          // "abc"

Polyfill

Ao executar o seguinte código antes de qualquer outro código é criado String.prototype.padStart(), em casos onde ele não está disponível nativamente.

// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
if (!String.prototype.padStart) {
    String.prototype.padStart = function padStart(targetLength, padString) {
        targetLength = targetLength >> 0; //truncate if number, or convert non-number to 0;
        padString = String(typeof padString !== 'undefined' ? padString : ' ');
        if (this.length >= targetLength) {
            return String(this);
        } else {
            targetLength = targetLength - this.length;
            if (targetLength > padString.length) {
                padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed
            }
            return padString.slice(0, targetLength) + String(this);
        }
    };
}

Especificações

Especificação Status Comentário
ECMAScript Latest Draft (ECMA-262)
The definition of 'String.prototype.padStart' in that specification.
Rascunho Initial definition in ECMAScript 2017.
ECMAScript 2017 (ECMA-262)
The definition of 'String.prototype.padStart' in that specification.
Padrão  

Compatibilidade de Navegador

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support 57Edge Full support 15Firefox Full support 48IE No support NoOpera Full support 44Safari Full support 10WebView Android Full support 57Chrome Android Full support 57Edge Mobile Full support YesFirefox Android Full support 48Opera Android Full support 44Safari iOS Full support 10Samsung Internet Android Full support 7.0nodejs Full support 8.0.0
Full support 8.0.0
Full support 7.0.0
Disabled
Disabled From version 7.0.0: this feature is behind the --harmony runtime flag.

Legend

Full support  
Full support
No support  
No support
User must explicitly enable this feature.
User must explicitly enable this feature.

Veja também

Etiquetas do documento e colaboradores

Colaboradores desta página: rbuzatto
Última atualização por: rbuzatto,