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