--- title: String.prototype.padStart() slug: Web/JavaScript/Reference/Global_Objects/String/padStart tags: - JavaScript - Prototipo - Referencia - String - metodo - padStart() translation_of: Web/JavaScript/Reference/Global_Objects/String/padStart ---
O método padStart() preenche a string original com um determinado caractere, ou conjunto de caracteres, (várias vezes, se necessário) até que a string resultante atinja o comprimento fornecido. O preenchimento é aplicado antes do primeiro caractere da string original. A string original não é modificada.
str.padStart(targetLength [, padString])
targetLengthpadStringtargetLength, ela será truncada a partir da direita. O valor padrão é " " (U+0020 'SPACE').Uma {{jsxref("String")}} de comprimento específico com uma string de preenchimento aplicada a partir do seu início.
'abc'.padStart(10); // " abc" 'abc'.padStart(10, "foo"); // "foofoofabc" 'abc'.padStart(6,"123465"); // "123abc" 'abc'.padStart(8, "0"); // "00000abc" 'abc'.padStart(1); // "abc"
Ao executar o seguinte código antes de qualquer outro código é criado o método 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ção | Status | Comentário |
|---|---|---|
| {{SpecName('ESDraft', '#sec-string.prototype.padstart', 'String.prototype.padStart')}} | {{Spec2('ESDraft')}} | Implementação inical no ECMAScript 2017. |
| {{SpecName('ES8', '#sec-string.prototype.padstart', 'String.prototype.padStart')}} | {{Spec2('ES8')}} |
{{Compat("javascript.builtins.String.padStart")}}