Aprendendo uma função nova em javascript
A função escolhida foi String.prototype.padEnd().
Essa função e usada para manipular uma string, digamos que que esta trabalhando em um projeto para criar um contrato onde esse contrato e gerado automaticamente pelo sistema, e tenha um layout sempre fixo de texto, digamos 100 caracteres no máximo e que não pode haver espaços em branco para esse contrato não ser passivo de alteração.
Utilizando essa função padEnd()
você poderia completar os espaços sobrando com um caracter especial dessa forma veja.
const str1 = 'Inicio do contrato';
console.log(str1.padEnd(100, '-'));
//Resultado:
//Inicio do contrato----------------------------------------------------------------------------------
Parâmetros
- targetLength
- Comprimento da string resultante depois que a
str1
for preenchida. Se o valor for menor ou igual a aostr1.length
retornara a string atual como ela esta.
- Comprimento da string resultante depois que a
- padString (opcional)
- A string com qual preenche a corrente. Caso padString for muito longo para permanecer dentro de targetLength, ele será truncado: para idiomas da esquerda para a direita, a parte mais à esquerda e para idiomas da direita para a esquerda, a parte mais à direita será aplicada. O valor padrão para este parâmetro é " " ( U+0020).
Complementando, existe também String.prototype.padStart
que é similar, mas como o nome diz, completa no início.
Um uso comum é formatar um número com zeros à esquerda - mas claro que antes precisa convertê-lo para string:
const valor = 10;
console.log(valor.toString().padStart(5, '0')); // 00010
Ou, usando o mesmo exemplo para comparar:
const str1 = 'Inicio do contrato';
console.log(str1.padStart(100, '-'));
//Resultado:
//----------------------------------------------------------------------------------Inicio do contrato
Um detalhe interessante é que padString
não precisa ter apenas um caractere. Ela pode ter qualquer tamanho:
const str1 = 'Inicio do contrato';
console.log(str1.padStart(100, '-**--xx-'));
//-**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--*Inicio do contrato
console.log(str1.padEnd(100, '-**--xx-'));
//Inicio do contrato-**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--**--xx--*