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--*